home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 501-525 / disk_502 / cells / cells.help < prev    next >
Text File  |  1992-05-06  |  92KB  |  3,614 lines

  1. !
  2. !  On-Line Help file for CELLS program.
  3. !
  4. !  Copyright (c) 1990 by Davide P. Cervone, all rights reserved.
  5. !
  6. !  Update history:
  7. !
  8. !    When      Who         What
  9. !   --------  ----   -------------------
  10. !   4/19/90   DPVC    Added modifications for version 1.2
  11. !   2/20/90   DPVC    Wrote it.
  12. !
  13. !-------------------------------------------------------------------------
  14. !
  15. *Title: CELLS Overview:  (v1.2)
  16. CELLS version 1.2
  17. Copyright 1990 by Davide P. Cervone
  18.  
  19. CELLS is a program that allows you
  20. to create Cellular Automata using
  21. the set of states and rules
  22. described in the January 1990
  23. Computer Recreations column of the
  24. Scientific American magazine.
  25.  
  26. Press MORE to choose from a list of
  27. Help Topics.
  28. !
  29. *1 About CELLS
  30. CELLS is based on the 2-dimensional
  31. cell-space called "WireWorld"
  32. introduced by A. K. Dewdney in his
  33. Computer Recreations column of the
  34. Scientific American magazine 
  35. (Sci Amer, Jan 1990, pp 146-149).
  36.  
  37. In it, he describes a simple diode
  38. circuit, an OR gate, and a 13-cycle
  39. memory device.
  40.  
  41. CELLS lets you create your own
  42. circuits in WireWorld and gives
  43. you the ability to see them in
  44. action, with electrons flowing
  45. through their cellular wires.
  46.  
  47. You can use the sample circuits and
  48. libraries provided with CELLS or
  49. create devices of your own design.
  50. !
  51. *2 Author
  52. Davide P. Cervone
  53. 50 Armstrong Avenue
  54. Providence, Rhode Island  02903
  55.  
  56. BITNET: ST402523@BROWNVM
  57. !
  58. *2 Copyright
  59. CELLS is Copyright (c) 1990
  60. by Davide P. Cervone, all rights
  61. reserved.
  62. !
  63. *2 Distribution Notice
  64. You may distribute CELLS freely, or
  65. for a nominal copying charge,
  66. provided this copyright notice, the
  67. documentation, the Moonstone font,
  68. the cells color files, the example
  69. circuit files and libraries, and
  70. the source code are included.
  71. !
  72. *2 Source Code
  73. The source code to CELLS should be
  74. included with its distribution. 
  75. CELLS was created basically as an
  76. exercise in Amiga programming, and
  77. includes prototypes for a number of
  78. independent sub-systems (for
  79. example the HELP system you are
  80. using now).  For this reason, some
  81. of the code is not in a completely
  82. polished form.  You may need to
  83. clean it up a bit if you intend to
  84. include it in your own programs.
  85. !
  86. *2 Moonstone Font               (Link)
  87. *Link: Installing CELLS  Moonstone Font
  88. !
  89. *2 3D Gadgets                   (Link)
  90. *Link: Installing CELLS  3D Gadgets
  91. !
  92. *2 Other Programs by this Author
  93. *3 sWindows
  94. SWINDOWS allows you to open windows
  95. on any screen just by including the
  96. name of the screen in the window
  97. title.  For instance, you can open
  98. CLI windows on any screen with
  99. ease.  Just think, you could have a
  100. CLI open on the same screen as
  101. EMACS or any other program!
  102. !
  103. *3 NL-Daemon
  104. NL-DAEMON changes the standard
  105. Intuition depth, close, and sizing
  106. gadgets to have neat-looking 3D
  107. imagery.  It really makes your
  108. programs stand out!
  109. !
  110. *3 Zoom-Deamon
  111. ZOOM-DEAMON adds a ZOOM gadget to
  112. every Intuition window that can be
  113. resized.  Clicking the ZOOM gadget
  114. makes the window either as large or
  115. as small as it can get, or changes
  116. it back to its original size.
  117. !
  118. *3 Calculator
  119. This is a replacement for the
  120. calculator program provided on the
  121. WorkBench disk.  CALC uses the same
  122. 3D effects as NL-DAEMON and CELLS,
  123. so it looks really cool.  But best
  124. of all, it will open on any screen
  125. (not just the WorkBench) at the
  126. touch of a button.
  127. !
  128. *3 wKeys
  129. WKEYS lets you depth-arrange,
  130. activate, and close windows and
  131. screens via hot-keys.  WKEYS is
  132. completely configurable, so you can
  133. make virtually any key do any of
  134. these operations.
  135. !
  136. *3 wIconify
  137. WICONIFY allows you to convert any
  138. window in the WorkBench screen to a
  139. small icon on the WorkBench.  These
  140. can be moved and opened just like
  141. disk and drawer icons.
  142.  
  143. wIconify works in conjunction with
  144. wKeys to make it possible to
  145. iconify windows from the keyboard.
  146. !
  147. *3 vScreen
  148. VSCREEN allows you to have screens
  149. that are larger than the visible
  150. monitor area (i.e., a virtual
  151. screen).  You scroll this screen 
  152. simply by moving the mouse past the
  153. visible edge of the screen.  Works
  154. with any screen, even those created
  155. by other programs.
  156. !
  157. *3 Signal and WaitFor
  158. These two programs make writing
  159. concurrent EXECUTE scripts easier:
  160. one script can wait for a specific
  161. signal from another script before
  162. it goes on.  This sure beats
  163. Commmodore's recommended WAIT and 
  164. BREAK method!
  165. !
  166. *3 Journal and Playback
  167. JOURNAL records mouse and keyboard
  168. events that can be replayed later
  169. by PLAYBACK.  This lets you produce
  170. automated command sequences, self-
  171. running demos, and more.
  172. !
  173. *3 MonIDCMP
  174. MONIDCMP lets you monitor all the
  175. IntuiMessages that pass through the
  176. IDCMP port of any window on any
  177. screen.  This is a great debugging
  178. tool for all you programmers out
  179. there!
  180. !
  181. *3 MonPROC
  182. MONPROC lets you monitor all the
  183. DOS calls for any process on the
  184. system.  A neat debugging tool.
  185. For instance, you can use it to
  186. track down what files a program
  187. is openning, and when.
  188. !
  189. *3 Hardcopy
  190. HARDCOPY lets you create a copy of
  191. any CLI session.  All text written
  192. or entered in the CLI window will
  193. be saved to a file.  You can print
  194. the file or include it as part of a
  195. document that you are writing.
  196. !
  197. *3 PatchSetFunction
  198. PATCHSF is a small patch to the
  199. SetFunction() routine in ROM.  It
  200. allows programs that use the
  201. SetFunction() call to add and 
  202. remove their patches in any order.
  203.  
  204. If you use a lot of small utility
  205. programs (like the ones described
  206. here), you may find PatchSF useful.
  207.  
  208. If you don't know what I'm talking
  209. about, don't worry about it.
  210. !
  211. *3 HeliosMouse
  212. HELIOSMOUSE guarantees that the
  213. active window is the one that the
  214. mouse is hovering over.  This is
  215. the way that Sun workstations work.
  216. !
  217. *3 ClickUpFront
  218. CLICKUPFRONT lets you depth-arrange
  219. windows and screens just by
  220. clicking the mouse buttons. 
  221.  
  222. Double-click with the left button
  223. to bring a window or screen to the
  224. front (no need to uncover those
  225. depth gadgets)
  226.  
  227. Double-click the right button to
  228. send windows and screens to the
  229. back.
  230. !
  231. *1 Rules of the Game
  232. A Cellular Automata is made up of
  233. cells in a grid.  Each cell is in
  234. one of a finite number of states
  235. and there are rules for when cells
  236. change from one state to the next.
  237.  
  238. There is a master clock that ticks
  239. off intervals of time.  During each
  240. interval, the new state of each of
  241. the cells is computed, and then
  242. the states of the cells change (all
  243. at once).
  244.  
  245. In our cellular world called
  246. "WireWorld" there are four states: 
  247. Background, Wire, Electron-Head and
  248. Electron-Tail.
  249.  
  250. The state change rules are simple:
  251. A Background cell always stays a
  252. Background cell.  An Electron-Head
  253. cell always changes to an Electron-
  254. Tail cell at the next clock tick,
  255. and an Electron-Tail cell always
  256. changes to a Wire cell.
  257.  
  258. The only tricky rule involves the
  259. Wire cells.  If a Wire cell is next
  260. to an Electron-Head cell or to 2
  261. Electron-Head cells, the Wire cell
  262. will change to the Electron-Head
  263. state at the next clock tick.  If
  264. there are 3 or more Electron-Head
  265. cells next to a Wire cell (or none
  266. at all), then the Wire cell will
  267. remain a Wire cell.
  268.  
  269. These simple rules are set up so
  270. that an electron will flow along a
  271. wire, and so that electrons can be
  272. stopped from flowing under certain
  273. conditions (too many electrons in
  274. one place at one time).
  275.  
  276. Circuits that compute any logic
  277. function can be created using this
  278. set of rules.
  279. !
  280. *1 CELLS Screen Layout
  281. The screen is divided into two
  282. areas:  the cell grid and the
  283. control panel.  The grid is marked
  284. off with grid lines, and has
  285. slider and arrow gadgets on the
  286. side.  The control panel has the
  287. buttons that allow you to make,
  288. save, and manipulate circuits on
  289. the grid.
  290. !
  291. *2 The Grid
  292. The Grid is the place where you
  293. draw circuits.  CELLS has a grid
  294. that is 85 x 60 cells big, but you
  295. may only see part of it at a time
  296. depending on what magnification you
  297. are using.
  298.  
  299. The size and position of the
  300. sliders tell you what part of the
  301. grid you are currently viewing.
  302.  
  303. The small gadget at the lower
  304. right-hand corner of the gird (it
  305. has 4 arrows pointing toward its
  306. center) is the ZOOM gadget.
  307. !
  308. *3 The Sliders
  309. You can drag the knob of a slider
  310. to change the part of the grid that
  311. you currently are viewing.  Note
  312. that the grid is updated as you
  313. slide the knob, so you can always
  314. see where you are moving.  You can 
  315. even drag the sliders when the
  316. circuit is in opperation!
  317.  
  318. If you click in the area to one or
  319. the other side of the knob, you
  320. will scroll the grid to that side
  321. by one full screen's width.  This
  322. is a fast way to move the viewing
  323. position around.
  324. !
  325. *3 The Arrows
  326. Use the arrows to scroll the grid
  327. by one cell in the indicated
  328. direction.  The grid will continue
  329. to scroll as long as you continue
  330. to hold down the arrow.
  331.  
  332. Note that if the circuit is
  333. running, it will be suspended as
  334. you scroll until you let go of the
  335. arrow gadget.
  336. !
  337. *3 The Zoom Gadget
  338. The zoom gadget controls the amount
  339. of the grid that you can see on the
  340. screen at one time.
  341.  
  342. Pressing the zoom gadget enlarges
  343. the size of the individual cells
  344. (magnifying the view, hence showing
  345. fewer, larger cells).
  346.  
  347. If you hold down one of the SHIFT
  348. keys, the zoom gadget will change
  349. the direction of its arrows (they
  350. will point out).  Pressing the zoom
  351. gadget while the shift key is held
  352. down will cause the size of the
  353. cells to decrease, so you will see
  354. more of the grid with smaller
  355. cells. 
  356.  
  357. You can zoom out to show the full
  358. extent of the grid (85 x 60 cells),
  359. and can zoom in until the cells are
  360. 15 pixels wide.
  361. !
  362. *3 The Colors                   (Link)
  363. *Link: Creating Circuits  The Colors for the States
  364. *2 The Control Panel            (Link)
  365. *Link: The Control Panel
  366. !
  367. *1 Creating Circuits
  368. You create a circuit by drawing it
  369. in the grid area.  To do this,
  370. simply choose one of the four cell
  371. states from the top of the control
  372. panel (see SELECTING A STATE below)
  373. and click in the grid area.  The
  374. cell you click on will be changed
  375. to the selected state.
  376.  
  377. If you hold down the button and
  378. drag the mouse across more cells,
  379. they also will change to the
  380. selected state.
  381. !
  382. *2 The Colors for the States
  383. The colors for the different states
  384. are shown at the top of the control
  385. panel.  The currently selected
  386. color is highlighted, and color 2
  387. of the mouse pointer is changed to
  388. the current color.
  389.  
  390. The states are divided into two
  391. groups:  Background and Wire are in
  392. one group (the two colors on the
  393. left) and Electron-Tail and Head
  394. in the other (on the right).
  395.  
  396. The default colors for the state
  397. are as follow:
  398.  
  399.    Background     Black
  400.    Wire           Green
  401.    Tail           Pale Yellow
  402.    Head           Golden
  403.  
  404.  
  405. You can set these colors to your
  406. own prefernces via the CELLS color
  407. file.
  408. !
  409. *3 Changing the Default Colors  (Link)
  410. *Link: Installing CELLS  Changing the Screen Colors
  411. !
  412. *2 Selecting a State
  413. One way to select a new cell state
  414. is to click on the color of the
  415. desired state at the top of the
  416. control panel.
  417.  
  418. A faster way, however, is to use
  419. the right mouse button:  if you
  420. click the right mouse button once,
  421. the current state will change to
  422. the other state in its group.  For
  423. example, if the current state is
  424. Wire, a click of the right button
  425. will change to state to Background,
  426. and vice versa.
  427.  
  428. Double-clicking the right button
  429. will select the corresponding state
  430. in the opposite group; i.e., if the
  431. current state is Wire, then a
  432. double click will change the state
  433. to Electron-Head.
  434.  
  435. Finally, triple-clicking the right
  436. mouse button will change the state
  437. to the remaining cell state.
  438.  
  439. The effect of this is that slow
  440. clicks change the state within a
  441. color group, and fast clicks cycle
  442. through all the states.
  443.  
  444. If you have the left button held
  445. down when you click the right
  446. button, however, the change of
  447. state is only temporary; when you
  448. let go of the right mouse button
  449. the state goes back to whatever you
  450. were using before you pressed the
  451. right button.
  452.  
  453. In this way, it is easy to change
  454. temporarily to Background (to make
  455. corrections) while you are drawing
  456. Wire, for example.
  457.  
  458. See DRAWING ELECTRONS for more
  459. information about the right mouse
  460. button in the electron states.
  461. !
  462. *2 Drawing Electrons
  463. Usually when you are drawing in one
  464. of the electron states, you want to
  465. draw a complete electron (both a
  466. head and a tail).
  467.  
  468. For this reason, whenever you draw
  469. a cell in the Electron-Head or Tail
  470. state, the second cell you draw
  471. will be in the other state.  Thus
  472. you can draw electrons without
  473. having to keep changing the
  474. selected state color.
  475.  
  476. For example, if you are drawing
  477. in the Electron-Tail state and
  478. you draw two cells in a row, the
  479. second will be an Electron-Head.
  480.  
  481. Since it is so easy to get the
  482. other electron state color, the
  483. effect of the right mouse button
  484. (while the left button is held
  485. down) is slightly different for the
  486. electron states:  instead of
  487. switching electron states, pressing
  488. and holding the right button while
  489. the left button is pressed will
  490. switch to the Wire state.  When you
  491. let go of the right mouse button
  492. you will go back to drawing with
  493. the electron color.  This makes it
  494. easy to erase a misplaced electron,
  495. for example.
  496. !
  497. *2 Making Corrections
  498. If you have put a cell into the
  499. wrong state, simply choose the
  500. proper state color and draw over
  501. the incorrect cell (or press UNDO
  502. if you have not made any other
  503. changes).
  504.  
  505. The right mouse button is a
  506. convenient tool for changing the
  507. selected state.  If you hold the
  508. left button down over the incorrect
  509. cell, a click of the right button
  510. usually will put it the way you
  511. want:
  512.  
  513.   If you are drawing Wire, it will
  514.   change to Background;
  515.  
  516.   If you are drawing Background, it
  517.   will change to Wire;
  518.  
  519.   If you are drawing an Electron,
  520.   it will change to Wire.
  521. !
  522. *2 Using the Right Button
  523. You can use the right mouse button
  524. to change the current drawing
  525. color.  See the topics SELECTING A
  526. STATE and MAKING CORRECTIONS.
  527. !
  528. *1 Saving Circuits
  529. When your circuit is ready to be
  530. saved, press the SAVE button.  If
  531. CELLS already knows the name of the
  532. circuit (i.e., it was loaded from a
  533. file or a previous SAVE or RENAME
  534. has been performed), then CELLS
  535. will save the circuit to that file
  536. automatically.
  537.  
  538. If the circuit has not been named
  539. already, then CELLS will put up the
  540. Save File Requester.  You can use
  541. this requester to choose the disk,
  542. drawer, and filename where the
  543. circuit will be saved.
  544.  
  545. When you save a circuit, all the
  546. parts in the Parts List and the
  547. names of libraries in the Library
  548. List are saved to the file as well.
  549. !
  550. *2 Renaming a File
  551. If you want to save the current
  552. circuit without deleting a
  553. previously saved version of the
  554. circuit, you need to save the
  555. circuit under a new file name.
  556.  
  557. To do this, press the RENAME button
  558. (when you hold down the SHIFT key,
  559. the SAVE button becomes the RENAME
  560. button).  This forces CELLS to
  561. bring up the Save File Requester
  562. even if the circuit already has a
  563. name.
  564.  
  565. Once you save the circuit under a
  566. new name, that name will become the
  567. circuit's current name, so that
  568. future SAVE commands will save to
  569. the new file.  To work on the old
  570. circuit again, you will need to
  571. LOAD the old file again.
  572. !
  573. *2 Saving a Selection
  574. If cells are selected when you
  575. press SAVE, only the selected cells
  576. are saved to the file (no parts or
  577. libraries) and the current file
  578. name is not changed.
  579. !
  580. *2 Saving a Circuit Without Parts
  581. Normally the Parts List is saved
  582. along with the circuit.  If you
  583. want to save a circuit without
  584. saving its associated parts list,
  585. either remove all the parts from
  586. the Parts List (see CREATING AND
  587. USING PARTS), or select the entire
  588. circuit and save it as a selected
  589. circuit.  Since parts are not saved
  590. with a selection, this allows you
  591. to save just the circuit without
  592. having to remove all its parts.
  593. !
  594. *2 Clearing the Circuit's Name
  595. The NEW button will clear the
  596. grid, the Parts List, the Library
  597. List, and the current circuit name.
  598.  
  599. After NEW has been pressed, SAVE
  600. will activate the Save File
  601. Requester.
  602. !
  603. *2 Saving a Library             (Link)
  604. *Link: Parts Libraries  Creating a Parts Library
  605. !
  606. *2 Using the File Requester     (Link)
  607. *Link: The File Requester
  608. !
  609. *2 The File Format              (Link)
  610. *Link: CELLS File Format
  611. !
  612. *1 Loading Circuits
  613. Press the LOAD button to load a
  614. circuit.  This will call up the
  615. Load File Requester in which you
  616. can specify the disk, drawer, and
  617. file name of the circuit to load.
  618.  
  619. If you load a circuit, the contents
  620. of the grid, the Parts List, and
  621. the Library List will be erased
  622. (you will be given the chance to
  623. save them if you have not already
  624. done so), and then the new circuit,
  625. its parts, and its associated
  626. libraries will be loaded.
  627.  
  628. Once a circuit is loaded, the SAVE
  629. button will cause the circuit to be
  630. saved to the same file that you
  631. loaded it from, without going
  632. through the Save File Requester. 
  633.  
  634. If you want to save the file under
  635. a new name, use the RENAME button.
  636. !
  637. *2 Loading Errors
  638. If there are any errors in the
  639. circuit file, CELLS will put up a
  640. requester telling you about the
  641. error.  Every eight errors or so
  642. you will be asked to confirm that
  643. CELLS should continue to load the
  644. file.  This is so that in case you
  645. have a badly corrupted file, you
  646. don't have to keep seeing error
  647. messages forever.
  648. !
  649. *2 Loading Libraries            (Link)
  650. *Link: Parts Libraries  Loading a Parts Library
  651. !
  652. *2 Using the File Requester     (Link)
  653. *Link: The File Requester
  654. !
  655. *2 The File Format              (Link)
  656. *Link: CELLS File Format
  657. !
  658. *1 Editing Circuits
  659. You modify circuits by changing the
  660. states of the cells in the grid. 
  661. This can be accomplished by:
  662.  
  663.   Drawing the cells cirectly;
  664.  
  665.   Adding parts from the Parts List
  666.   or from a library;
  667.  
  668.   Selecting and moving or copying
  669.   cells that already exist within
  670.   the circuit.
  671. !
  672. *2 Drawing Cells                (Link)
  673. *Link: Creating Circuits
  674. !
  675. *2 Using Parts                  (Link)
  676. *Link: Making and Using Parts
  677. !
  678. *2 Selecting Cells
  679. If you wish to manipulate (e.g.,
  680. move, copy, delete, wipe, undo)
  681. a specific set of cells, you must
  682. first select them.
  683.  
  684. To begin a selection, press the
  685. SELECT button.  The button will
  686. remain inverted and the pointer
  687. will return to its normal colors
  688. indicating that you are in Select
  689. Mode.
  690.  
  691. You may now select cells either
  692. individually using the right mouse
  693. button, or in groups using the left
  694. mouse button.
  695.  
  696. Selected cells are indicated by a
  697. highlighted boundary.
  698. !
  699. *3 Selecting Single Cells
  700. To select a single cell, click on
  701. it using the right mouse button. 
  702. If the cell is not selected, it
  703. will become selected; if the cell
  704. already is selected, it will become
  705. unselected.
  706.  
  707. Continue to select individual cells
  708. in this way until all the desired
  709. cells are selected.
  710.  
  711. You can select background-colored
  712. cells as well as Wire and Electron
  713. cells in this way.
  714.  
  715. If you hold down the right button
  716. and drag the mouse around (just as
  717. though you were drawing with the
  718. right button), you will select or
  719. unselect all the cells you cross.
  720. !
  721. *3 Selecting Groups of Cells
  722. To select a whole group of cells at
  723. once, press the left button and
  724. drag the mouse to the lower right;
  725. a selection rectangle will appear.
  726.  
  727. When you let go of the left button,
  728. all non-background cells within the
  729. rectangle will become selected.
  730.  
  731. Continue to select groups of cells
  732. in this way until all the desired
  733. cells are selected.
  734. !
  735. *4 Changing the Select Rectangle
  736. You change the size of the select
  737. rectangle by dragging the mouse to
  738. the lower right-hand corner of what
  739. you want to select.
  740.  
  741. You can change the POSITION of the
  742. rectangle (instead of its SIZE) by
  743. holding down the right mouse button
  744. as you drag. As long as the right
  745. button is down, the box will change
  746. its location as you move the mouse.
  747.  
  748. Let go of the right mouse button to
  749. go back to changing the box's size.
  750. !
  751. *4 Unselecting Groups of Cells
  752. Normally, when you drag out a
  753. select box, the cells within it are
  754. added to the set of selected cells.
  755.  
  756. If you hold down the SHIFT key as
  757. you let go of the left button, all
  758. the non-background cells in the
  759. select box will be REMOVED from the
  760. set of selected cells instead.
  761. !
  762. *4 Selecting Groups with Backgrounds
  763. Normally, only the non-background
  764. cells within the select rectangle
  765. are selected and background cells
  766. are left unaffected.
  767.  
  768. If you hold down the ALT key as you
  769. let go of the left button, however,
  770. then ALL the cells in the box will
  771. be selected.
  772.  
  773. Note that you can use both ALT and
  774. SHIFT together to unselect an
  775. entire select rectangle.
  776. !
  777. *3 Unselecting Everything
  778. To unselect all the selected cells
  779. and go back to Drawing Mode without
  780. changing any of the selected cells,
  781. press the SELECT button.  It will
  782. go back to its normal color and
  783. the pointer will change to indicate
  784. the current drawing color again.
  785.  
  786. To unselect all selected cells but
  787. still remain in Select Mode, press
  788. the RESET button.
  789. !
  790. *2 Moving and Copying Cells
  791. Once you have selected all the
  792. cells you want to move or copy,
  793. press the MOVE or COPY button.  The
  794. selected cells will change to a
  795. solid highlight color and the MOVE
  796. or COPY button will be inverted
  797. (indicating that Move/Copy Mode is
  798. in effect).
  799.  
  800. To move or copy the cells to their
  801. new position, click on and drag any
  802. of the selected cells.  All the
  803. selected cells will move on screen
  804. as you drag the mouse around.  You
  805. can pick up and let go of the cells
  806. as many time as you need until they
  807. are properly placed.  Use the
  808. scroll and zoom gadgets if you need
  809. to get to a different area of the
  810. grid.
  811.  
  812. Once the cells are positioned
  813. correctly, click the right mouse
  814. button to fix them in their current
  815. positions.  This will end Move/Copy
  816. Mode, unselect the cells, and put
  817. you back in Drawing Mode.
  818. !
  819. *3 Making More than One Copy
  820. If you click the right mouse button
  821. while the left mouse button is
  822. pressed (i.e., when you are moving
  823. the selected cells), then a copy of
  824. the selected cells will be placed
  825. at their current positions but you
  826. will remain in Move/Copy Mode.
  827.  
  828. You can then move the selected
  829. cells to a new location and place
  830. another copy there.  Provided you
  831. keep the left button pressed, you
  832. can make as many copies of the
  833. selected cells as you want.
  834.  
  835. When you are ready to make the last
  836. copy, let go of the left button and
  837. press the right button to place the
  838. cells in their final positions.
  839.  
  840. Note that UNDO will remove ALL the
  841. copies you placed, not just the
  842. last one.
  843. !
  844. *3 Cancelling a Move or Copy
  845. To cancel a move or copy, press the
  846. MOVE or COPY button a second time.
  847. If you were moving cells, they will
  848. be put back where they started.
  849.  
  850. If you want to cancel a move or
  851. copy and begin selecting again,
  852. press SELECT instead of MOVE or
  853. COPY.  This will cancel the move or
  854. copy and will re-enter Select Mode.
  855. !
  856. *2 Other Operations on Selected Cells
  857. Most of the editing functions work
  858. on selections as well as the entire
  859. grid:
  860.  
  861.   CLEAR   Clears the selected cells
  862.           to the background state
  863.  
  864.   CLIP    Clears all the cells
  865.           except the selected ones
  866.  
  867.   WIPE    Wipes only the electrons
  868.           in the selected cells
  869.  
  870.   UNDO    Un-does only changes in
  871.           the selected cells
  872.  
  873.   SAVE    Saves only the selected  
  874.           cells as a circuit
  875.  
  876.   PART    Saves the selected cells
  877.           as a part in the circuit's
  878.           Parts List
  879. !
  880. *2 Clearing Cells               (Link)
  881. *Link: The Control Panel  Alphabetical CLEAR
  882. *2 Clipping Cells               (Link)
  883. *Link: The Control Panel  Alphabetical CLIP
  884. *2 Wiping Cells                 (Link)
  885. *Link: The Control Panel  Alphabetical WIPE
  886. *2 Undoing Changes              (Link)
  887. *Link: The Control Panel  Alphabetical UNDO
  888. !
  889. *1 Running Circuits
  890. Once you have drawn a circuit, you
  891. can place electrons on it and then
  892. press the START button.  CELLS will
  893. begin to perform the state-
  894. transition calculations which will
  895. cause the electrons to flow through
  896. the circuit.
  897.  
  898. When you press the START button, it
  899. turns into a STOP button, and most
  900. of the other buttons are disabled.
  901.  
  902. Pressing the STOP button will cause
  903. CELLS to stop calculating new
  904. generations.  If all the electrons
  905. in the circuit are eliminated,
  906. CELLS will stop automatically.
  907. !
  908. *2 Stepping The Clock
  909. If you press the STEP button, CELLS
  910. will calculate only the next
  911. generation of cells and then will
  912. stop.  This way, you can see the
  913. effects of your circuit one clock
  914. interval at a time.
  915.  
  916. STEP does not update the copy of
  917. the circuit used by the RESET
  918. button, so if you press RESET after
  919. using the STEP button, you still go
  920. back to whatever states were in
  921. effect before the last START
  922. command.
  923.  
  924. The ENTER key on the keypad is
  925. bound to the STEP function.
  926. !
  927. *2 Changing the Clock Speed
  928. The speed of the state-transitions
  929. depends on the number of electrons
  930. in the circuit and the size of the
  931. circuit within the grid area.  The
  932. larger the circuit and the more
  933. electrons there are, the longer it
  934. will take to update the grid each
  935. generation.
  936.  
  937. Usually, CELLS can caluclate new
  938. generations so fast that it is hard
  939. to really see what is going on. 
  940. For this reason, CELLS pauses for a
  941. short period in between cell
  942. generations so you can see what is
  943. happening within the circuit.
  944.  
  945. You can change this delay time by
  946. using the up and down arrows on the
  947. keyboard.  The UP ARROW makes the
  948. delay longer, and the DOWN ARROW
  949. makes the delay shorter (up to
  950. CELLS' fastest speed).
  951.  
  952. The default delay works well for
  953. most moderately complex circuits.
  954.  
  955. Changing the buffering mode also
  956. can have an effect on the
  957. generation calculation speed.
  958. !
  959. *2 Changing the Buffering Mode  (Link)
  960. *Link: Keyboard Commands  The "B" Key
  961. !
  962. *2 Resetting the Circuit
  963. When you press the START button,
  964. CELLS saves a copy of the current
  965. cells states and then begins
  966. running the circuit.
  967.  
  968. If you press the RESET button,
  969. CELLS will restore the states of
  970. the cells to what they were before
  971. you pressed START.
  972.  
  973. You can press RESET even while the
  974. circuit is running.
  975. !
  976. *2 Changing the View
  977. While the circuit is running, you
  978. can still use the sliders and zoom
  979. gadget to move the visible area of
  980. the grid.  If you hold down the
  981. arrow gadgets, CELLS will suspend
  982. its calculations until you let go,
  983. then it will continue running the
  984. circuit.
  985. !
  986. *2 The State-Transition Rules   (Link)
  987. *Link: Rules of the Game
  988. !
  989. *1 Making and Using Parts
  990. Often you will need to use the same
  991. conficuration of cells more than
  992. once within a circuit.  Such a
  993. configuration is called a "part".
  994.  
  995. CELLS maintains a list of parts
  996. that you define.  When you add a
  997. part to the parts list, it is
  998. available to be added into the
  999. circuit at any time.
  1000.  
  1001. The Parts List is stored along with
  1002. the circuit when you SAVE the
  1003. circuit, and is loaded when you
  1004. LOAD the circuit.  Thus the Parts
  1005. List is a permanent part of the
  1006. information contained in a circuit.
  1007. !
  1008. *2 Creating Parts
  1009. To create a new part, simply select
  1010. the cells to be included in the
  1011. part (see SELECTING CELLS below for
  1012. information about how to select
  1013. cells) and press the PART button.
  1014.  
  1015. You will be requested to name the
  1016. part.  A part name can be used only
  1017. once within a parts list, and
  1018. should be descriptive enough to
  1019. allow you to identify the part when
  1020. you want to include it into the
  1021. circuit.
  1022.  
  1023. Parts can include cells in the
  1024. Electron and Background states as
  1025. well as wire states.  For instance,
  1026. you can include electrons to
  1027. indicate the proper starting
  1028. positions of electrons on the input
  1029. wires to logic gates.
  1030. !
  1031. *3 Selecting Cells              (Link)
  1032. *Link: Editing Circuits  Selecting Cells
  1033. !
  1034. *2 Selecting Parts
  1035. When you want to include a part
  1036. into the circuit, press the PART
  1037. button (when no cells are selected).
  1038. CELLS will open the Parts
  1039. Requester, which allows you to
  1040. choose a part name from the Parts
  1041. List, or from a parts library that
  1042. you have loaded.
  1043.  
  1044. To select the part you want to use,
  1045. type its name into the part name
  1046. gadget or click on the part's name
  1047. in the list of names, and then
  1048. press the USE button.  The part
  1049. will be copied into the circuit,
  1050. its cells will be selected, and you
  1051. will be placed in Move/Copy Mode
  1052. (you do not need to press MOVE or
  1053. COPY; the mode is entered
  1054. automatically).
  1055.  
  1056. Move the part to where you want it
  1057. to go by dragging one of its cells 
  1058. (see MOVING A PART below).  Once
  1059. you have it in place, click the
  1060. right mouse button.
  1061. !
  1062. *3 Moving a Part                (Link)
  1063. *Link: Editing Circuits  Moving and Copying Cells
  1064. !
  1065. *3 Cancelling an Added Part
  1066. If the part is still selected and
  1067. you want to remove it from the
  1068. grid, press the MOVE (or COPY)
  1069. button.  This will remove the
  1070. selected cells from the grid and
  1071. will place you in Drawing Mode.
  1072.  
  1073. If you have already placed the part
  1074. on the grid, but have not made any
  1075. other changes to the circuit, press
  1076. the UNDO button.
  1077.  
  1078. If you have already made other
  1079. changes, you will have to select
  1080. the cells of the part by hand and
  1081. press the CLEAR button.
  1082. !
  1083. *2 Removing Parts
  1084. If you wish to remove a part from
  1085. the Parts List, press the PART
  1086. button to open the Parts Requester.
  1087. Then select the part name in the
  1088. list of parts (or type its name in
  1089. the part name gadget) and press
  1090. the REMOVE button.  The part will
  1091. be erased from the Parts List,
  1092. but this will not effect any
  1093. occurances of the part within the
  1094. circuit.
  1095.  
  1096. You can not remove parts from a
  1097. library (see the topic PARTS
  1098. LIBRARIES for information on how
  1099. to edit parts libraries).
  1100.  
  1101. If no part is selected and no part
  1102. name is in the name gadget when you
  1103. press REMOVE, the currently
  1104. selected library will be removed
  1105. from the circuit.
  1106. !
  1107. *2 Saving Parts
  1108. The Parts List is saved auto-
  1109. matically whenever you save the
  1110. circuit to a file.  The parts will
  1111. be loaded when you LOAD the circuit
  1112. again.
  1113.  
  1114. You may save the Parts List as a
  1115. parts library by clicking the SAVE
  1116. AS LIBRARY (PARTS ONLY) checkbox in
  1117. the Save File Requester.  The
  1118. circuit itself will not be saved,
  1119. but the Parts List will be saved
  1120. as a library so that you can load
  1121. it into other circuits.
  1122.  
  1123. See PARTS LIBRARIES for more
  1124. information on parts libraries.
  1125. !
  1126. *2 Editing Parts
  1127. There is no way currently to edit a
  1128. part that appears in the parts
  1129. list.  If you need to edit a part,
  1130. you will have to perform the
  1131. following steps:
  1132.  
  1133.   1.  Copy the part to the grid as
  1134.       described above in SELECTING
  1135.       A PART.  It is best to place
  1136.       it in some un-used area of
  1137.       the grid, if possible.
  1138.  
  1139.   2.  Edit the part while it is on
  1140.       the grid.
  1141.  
  1142.   3.  Once the part is correct,
  1143.       press the PART button, select
  1144.       the name of the incorrect
  1145.       part in the name list and
  1146.       press REMOVE to delete it
  1147.       from the Parts List.
  1148.  
  1149.   4.  Press CANCEL to close the 
  1150.       Part Requester.
  1151.  
  1152.   5.  Select the corrected part
  1153.       and save it to the Parts List
  1154.       as described in CEATING PARTS
  1155.       above.
  1156. !
  1157. *2 Viewing Parts
  1158. Sometimes it is hard to remember
  1159. what a part looks like when you are
  1160. selecting a part from the Parts
  1161. List.  For this reason, CELLS
  1162. provides a View Mode where the list
  1163. of parts names is replaced by a
  1164. picture of the selected part.
  1165.  
  1166. To enter View Mode, press the VIEW 
  1167. button on the Parts Requester.  You
  1168. can use the slider and arrows to
  1169. move from part to part.
  1170.  
  1171. To exit from View Mode (and return
  1172. to choosing from a list of part
  1173. names) click on the VIEW button
  1174. again.
  1175.  
  1176. CELLS remembers what mode you were
  1177. using when you finish with the
  1178. Parts Requester, so the next  time
  1179. you call up the Parts Requester, it
  1180. will be in whatever mode you were
  1181. using last.
  1182. !
  1183. *2 The Parts Requester          (Link)
  1184. *Link: The Parts Requester
  1185. *2 Parts Libraries              (Link)
  1186. *Link: Parts Libraries
  1187. !
  1188. *1 Parts Libraries
  1189. You may find that there are parts
  1190. that you use over and over in all
  1191. your circuits (e.g., OR and NOT
  1192. gates).  You can store commonly
  1193. used parts in a special file
  1194. called a Parts Library.
  1195.  
  1196. A Parts Library is simply a
  1197. collection of parts that can be
  1198. loaded into any circuit file.
  1199. Parts in a parts library are not
  1200. actually stored as part of the
  1201. circuit file itself, but the name
  1202. of the library is stored in the
  1203. circuit file.  When the circuit is
  1204. loaded, any libraries it used are
  1205. automatically loaded as well.  A
  1206. circuit can include as many
  1207. libraries as memory allows.
  1208.  
  1209. Since the library is not actually
  1210. stored in the circuit file,
  1211. libraries can help you save disk
  1212. space by placing common parts in a
  1213. common file rather than separate
  1214. copies in each circuit file.  Also,
  1215. if a library is changed or
  1216. corrected, any circuit file that
  1217. uses it will get the updated
  1218. version automatically.
  1219. !
  1220. *2 Creating a Parts Library
  1221. To create a parts library, clear
  1222. the working area by pressing NEW. 
  1223. This will clear the Parts List as
  1224. well as the grid.
  1225.  
  1226. Then create the parts that you want
  1227. to place into the library as
  1228. described in CREATING PARTS below.
  1229. The parts will appear in the Parts
  1230. List, so you can use the Parts
  1231. Requester to check the parts that
  1232. you have created, or to remove
  1233. incorrect parts.
  1234.  
  1235. Once all the parts are in the Parts
  1236. List, press the SAVE button.  Click
  1237. on the SAVE AS LIBRARY (PARTS ONLY)
  1238. check box, and type the name of
  1239. your new library.  Press OK.
  1240.  
  1241. The Parts List will be saved as the
  1242. library that you named.  It is
  1243. probably a good idea to end library
  1244. names with ".lib" so that you can
  1245. tell what files are circuits and
  1246. what files are libraries.
  1247. !
  1248. *3 Creating Parts               (Link)
  1249. *Link: Making and Using Parts  Selecting Parts
  1250. *3 Editing Parts                (Link)
  1251. *Link: Making and Using Parts  Editing Parts
  1252. *3 Removing Parts               (Link)
  1253. *Link: Making and Using Parts  Removing Parts
  1254. *3 Viewing Parts                (Link)
  1255. *Link: Making and Using Parts  Viewing Parts
  1256. !
  1257. *2 Loading a Parts Library
  1258. You can load a parts library any
  1259. time you are editing a circuit.  To
  1260. do so, press LOAD and select a
  1261. library file.  CELLS will load the
  1262. library and add it to the library
  1263. list.
  1264.  
  1265. CELLS can distinguish between a
  1266. library and a circuit file as it
  1267. reads it.  If you accidently
  1268. select a circuit file when you
  1269. meant to select a library file,
  1270. CELLS will attempt to load the
  1271. circuit.  If the current circuit
  1272. has not been saved, you will be
  1273. asked if you want to discard the
  1274. changes.  Press NO to cancel
  1275. loading the circuit.
  1276. !
  1277. *2 Selecting a Part from a Library
  1278. Selecting a part from a library is
  1279. almost exactly the same as
  1280. selecting a part from the Parts
  1281. List.  The only difference is that
  1282. you have to select the correct
  1283. library in the library name list of
  1284. the Parts Requester.
  1285.  
  1286. Use the arrows and slider to
  1287. position the list so that you can
  1288. see the name of the library
  1289. containing the part you want, and
  1290. then click on the library name.
  1291. !
  1292. *3 Selecting a Part             (Link)
  1293. *Link: Making and Using Parts  Selecting Parts
  1294. !
  1295. *2 Editing a Parts Library
  1296. Since the parts in a parts library
  1297. may be shared by many different
  1298. circuits, you can not edit parts
  1299. libraries directly.
  1300.  
  1301. In order to edit a library, you
  1302. must first load it into the Parts
  1303. List, then edit the Parts List,
  1304. then save the Parts List as a
  1305. Library.
  1306.  
  1307. To load a library as the Parts
  1308. List, press LOAD, and click the
  1309. LOAD LIBRARY AS PARTS check box.
  1310. Select the library to load and
  1311. press OK.
  1312.  
  1313. When the file is loaded, the Parts
  1314. List and library list will be
  1315. cleared, then the library will be
  1316. loaded into the Parts List.  Now
  1317. add new parts, remove old parts and
  1318. modify existing parts as normal.
  1319.  
  1320. When you are all done editing, press
  1321. the SAVE button.  Click on the
  1322. SAVE AS LIBRARY (PARTS ONLY) check
  1323. box, and type the name of your new
  1324. library.  Press OK.
  1325. !
  1326. *3 Editing Parts                (Link)
  1327. *Link: Making and Using Parts  Editing Parts
  1328. *3 Removing Parts               (Link)
  1329. *Link: Making and Using Parts  Removing Parts
  1330. !
  1331. *2 Merging Parts Libraries
  1332. There is no easy way to merge
  1333. libraries from within CELLS
  1334. itself.  The easiest way to merge
  1335. libraries is to use a text editor 
  1336. (like ED, EDIT, or MEMACS) to
  1337. combine the two library files.
  1338. You must be sure to remove the
  1339. duplicate LIBRARY command from
  1340. the combined file.
  1341. !
  1342. *2 Removing a Library from the List
  1343. To remove a library from the
  1344. library list, press the PARTS
  1345. button to call up the Parts
  1346. Requester and select the name of
  1347. the library to be removed.  Make
  1348. sure that View Mode is OFF and that
  1349. no part name appears in the part
  1350. name gadget.  Press REMOVE to
  1351. remove the library from the list.
  1352.  
  1353. Once a library is removed from the
  1354. list, its name will not be stored
  1355. with the circuit, so it will not be
  1356. loaded the next time you load the
  1357. circuit. 
  1358.  
  1359. The library is still on disk,
  1360. however, so it can be loaded again
  1361. if you decide you need to use it
  1362. again.
  1363. !
  1364. *2 Libraries in Other Directories
  1365. There is no special search path for
  1366. CELLS libraries, so it is best if
  1367. libraries are stored in the same
  1368. directories as the files that use
  1369. them.
  1370.  
  1371. If you want to have libraries in a
  1372. different directory, however, it is
  1373. possible to do so.  When you LOAD
  1374. the library, rather than changing
  1375. the current directory to the
  1376. directory containing the library,
  1377. you should be set to the directory
  1378. containing the circuit file, and
  1379. should type the name of the library
  1380. including whatever path information
  1381. is needed to locate the library
  1382. from that directory.
  1383.  
  1384. The complete name that you type
  1385. will be included in the circuit
  1386. file.  This way, when CELLS
  1387. attempts to include the library, it
  1388. should be able to find it.
  1389. !
  1390. *3 Examples
  1391. Suppose a circuit is stored in a
  1392. directory called CIRCUITS and this
  1393. directory has a sub-directory
  1394. called LIBRARIES which contains a
  1395. library called MYPARTS.LIB.  Then
  1396. when you load the MYPARTS library,
  1397. you should be sure that the current
  1398. directory is CIRCUITS and type in
  1399. the name:
  1400.  
  1401.     LIBRARIES/MYPARTS.LIB
  1402.  
  1403. Another approach is to use an
  1404. ASSIGNed name for the directory
  1405. where the libraries are stored.  In
  1406. the example above, you could use
  1407. the CLI command
  1408.  
  1409.  1> ASSIGN LIB: CIRCUITS/LIBRARIES
  1410.  
  1411. to create a logical name LIB: that
  1412. refers to the directory containing
  1413. MYPARTS.LIB.  When you go to load
  1414. the library, you could type the
  1415. name LIB:MYPARTS.LIB in the name
  1416. gadget, no matter what directory
  1417. was the current directory.
  1418. !
  1419. *3 Altering the Name in the Circuit
  1420. If all else fails, you can use a
  1421. text editor (such as ED, EDIT, or
  1422. MEMACS) to edit the circuit file
  1423. itself to include the paths.
  1424.  
  1425. At the bottom of the circuit file
  1426. there are INCLUDE commands for all
  1427. the libraries that are included in
  1428. the circuit.  You can edit the
  1429. library names to include any path
  1430. information that you need in order
  1431. for CELLS to find the libraries.
  1432. !
  1433. *2 Sample Libraries
  1434. CELLS comes with three sample
  1435. libraries:  5-Cycle.Lib,
  1436. 4-Cycle.Lib, and 3-Cycle.Lib.
  1437.  
  1438. Each of these contain some sample
  1439. gates and memory circuits that
  1440. operate in the specified number of
  1441. cycles.  The 5-cycle library is the
  1442. most extensive and includes cross-
  1443. overs, repeaters, clocks, and other
  1444. assorted devices.
  1445. !
  1446. *2 Library File Format          (Link)
  1447. *Link: CELLS File Format
  1448. !
  1449. *1 The Control Panel
  1450. The Control Panel is where the
  1451. buttons are located (on the right
  1452. of the CELLS screen).  The buttons
  1453. are grouped into functional
  1454. catagories (Control, File, Edit,
  1455. and Misc).
  1456.  
  1457. Most buttons have two functions.
  1458. The default function is named on
  1459. each button.  To get the secondary
  1460. function, press one of the SHIFT
  1461. keys; the button legends will
  1462. change to show the alternate
  1463. function of each button. 
  1464.  
  1465. In the descriptions below, the
  1466. buttons are referred to by their
  1467. function names, whether or not they
  1468. require SHIFT to be pressed.  If
  1469. the function you want is not shown
  1470. on any of the buttons, press SHIFT
  1471. to see the alternate functions.
  1472.  
  1473. Some buttons cause CELLS to enter a
  1474. special mode (e.g., Select Mode or
  1475. Move Mode), and others cause
  1476. requesters to open.  These buttons
  1477. will remain inverted as long as the
  1478. special mode or requester is in
  1479. effect.
  1480. !
  1481. *2 Circuit Control Buttons
  1482. *3 START
  1483. *Link: The Control Panel  Alphabetical  START
  1484. *3 STOP
  1485. *Link: The Control Panel  Alphabetical  STOP
  1486. *3 STEP
  1487. *Link: The Control Panel  Alphabetical  STEP
  1488. *3 RESET
  1489. *Link: The Control Panel  Alphabetical  RESET
  1490. *3 WIPE
  1491. *Link: The Control Panel  Alphabetical  WIPE
  1492. !
  1493. *2 File Access Buttons
  1494. *3 SAVE
  1495. *Link: The Control Panel  Alphabetical  SAVE
  1496. *3 RENAME
  1497. *Link: The Control Panel  Alphabetical  RENAME
  1498. *3 LOAD
  1499. *Link: The Control Panel  Alphabetical  LOAD
  1500. *3 NEW
  1501. *Link: The Control Panel  Alphabetical  NEW
  1502. !
  1503. *2 Circuit Editing Buttons
  1504. *3 SELECT
  1505. *Link: The Control Panel  Alphabetical  SELECT
  1506. *3 MOVE
  1507. *Link: The Control Panel  Alphabetical  MOVE
  1508. *3 COPY
  1509. *Link: The Control Panel  Alphabetical  COPY
  1510. *3 PART
  1511. *Link: The Control Panel  Alphabetical  PART
  1512. *3 CLEAR
  1513. *Link: The Control Panel  Alphabetical  CLEAR
  1514. *3 CLIP
  1515. *Link: The Control Panel  Alphabetical  CLIP
  1516. *3 UNDO
  1517. *Link: The Control Panel  Alphabetical  UNDO
  1518. *3 CENTER
  1519. *Link: The Control Panel  Alphabetical  CENTER
  1520. *3 RESET
  1521. *Link: The Control Panel  Alphabetical  RESET
  1522. *3 WIPE
  1523. *Link: The Control Panel  Alphabetical  WIPE
  1524. !
  1525. *2 Miscellaneous Buttons
  1526. *3 HELP
  1527. *Link: The Control Panel  Alphabetical  HELP
  1528. *3 ABOUT
  1529. *Link: The Control Panel  Alphabetical  ABOUT
  1530. *3 QUIT
  1531. *Link: The Control Panel  Alphabetical  QUIT
  1532. !
  1533. *2 Alphabetical Listing
  1534. *3 ABOUT
  1535. *Title: ABOUT  (Miscellaneous Command)
  1536. The ABOUT button calls up the About
  1537. Requester, which displays
  1538. information about the version of
  1539. CELLS you are running, and the
  1540. amount of free memory that is
  1541. available.
  1542.  
  1543. The About Requester also shows a
  1544. picture of the author, and gives an
  1545. address where he can be contacted.
  1546.  
  1547. ABOUT is available as SHIFT HELP.
  1548. !
  1549. *3 CENTER
  1550. *Title: CENTER  (Editing Command)
  1551. If you press the CENTER button,
  1552. CELLS will shift the contents of
  1553. the grid so that it is centered
  1554. within the grid (its full 85x60
  1555. cells, not just the viewing area).
  1556.  
  1557. For example, if your circuit is
  1558. near the right-hand edge of the
  1559. grid and there are blank cells to
  1560. the left of the circuit, you can
  1561. press CENTER to get a little more
  1562. room at the right.
  1563.  
  1564. CENTER is available as SHIFT UNDO.
  1565. !
  1566. *3 CLEAR
  1567. *Title: CLEAR  (Editing Command)
  1568. If any cells are selected, CLEAR
  1569. will set their states to the
  1570. Background state.
  1571.  
  1572. If no cells are selected, CLEAR
  1573. will clear the entire grid area to
  1574. the Background state.
  1575. !
  1576. *3 CLIP
  1577. *Title: CLIP  (Editing Command)
  1578. CLIP clears any cells in the entire
  1579. grid that are not selected.  That
  1580. is, any cells that are not selected
  1581. will be changed to the Background
  1582. state.
  1583.  
  1584. If no cells are selected, then CLIP
  1585. retains the cells that are in the
  1586. visible area of the grid, and
  1587. clears the remainder of the grid.
  1588.  
  1589. CLIP is available as SHIFT CLEAR.
  1590. !
  1591. *3 COPY
  1592. *Title: COPY  (Editing Command)
  1593. Once you have selected a group of
  1594. cells, COPY lets you make a copy of
  1595. these cells and move them to
  1596. another part of the circuit.
  1597.  
  1598. See the main topic EDITING CIRCUITS
  1599. for a complete description of how
  1600. to copy cells.
  1601.  
  1602. COPY is available as SHIFT MOVE.
  1603. !
  1604. *3 HELP
  1605. *Title: HELP  (Miscellaneous Command)
  1606. HELP calls up the Help System so
  1607. that you can browse through the on-
  1608. line Help Database.
  1609.  
  1610. Press the HELP button on the Help
  1611. Requester for complete details
  1612. concerning the HELP system.
  1613. !
  1614. *3 LOAD
  1615. *Title: LOAD  (File Access Command)
  1616. LOAD lets you:
  1617.  
  1618.    Load a new circuit.
  1619.  
  1620.    Load new libraries into an
  1621.    existing circuit, or
  1622.  
  1623.    Load a library for editing
  1624.    as the Parts List.
  1625. !
  1626. *4 Loading a Circuit            (Link)
  1627. *Link: Loading Circuits
  1628. *4 Loading a Library            (Link)
  1629. *LInk: Parts Libraries  Loading a Parts Library
  1630. *4 Loading a Library as Parts   (Link)
  1631. *Link: Parts Libraries  Editing a Parts Library
  1632. *4 Using the File Requester     (Link)
  1633. *Link: The File Requester
  1634. !
  1635. *3 MOVE
  1636. *Title: MOVE  (Editing Command)
  1637. Once you have selected a group of
  1638. cells, MOVE lets you move the
  1639. selected cells to another part of
  1640. the grid.
  1641.  
  1642. See the main topic EDITING CIRCUITS
  1643. for a complete description of how
  1644. to move cells.
  1645. !
  1646. *3 NEW
  1647. *Title: NEW  (File Access Command)
  1648. Use NEW when you want to start
  1649. working on a completely new
  1650. circuit.
  1651.  
  1652. NEW Clears the entire grid to the
  1653. Backgound state, clears the current
  1654. circuit name, selects the Wire
  1655. color, and enters Drawing Mode.
  1656.  
  1657. UNDO does not cancel the effect of
  1658. the NEW button.
  1659.  
  1660. NEW is available as SHIFT LOAD.
  1661. !
  1662. *3 PART
  1663. *Title: PART  (Editing Command)
  1664. If cells are selected, PART adds
  1665. the selected cells to the Parts
  1666. List as a part.
  1667.  
  1668. If no cells are selected, PART
  1669. calls up the Part Requester to let
  1670. you select a part to add to the
  1671. circuit.  Once a part is chosen,
  1672. you can move it to any area of the
  1673. grid.
  1674.  
  1675. See the topic CREATING AND USING
  1676. PARTS for more information on parts
  1677. and the Pars List.
  1678. !
  1679. *3 QUIT
  1680. *Title: QUIT  (Miscellaneous Command)
  1681. Use the QUIT button when you want
  1682. to exit from CELLS.
  1683.  
  1684. If changes have been made to the
  1685. circuit and you have not saved
  1686. them, CELLS will give you the
  1687. option of saving them before you
  1688. quit.
  1689. !
  1690. *3 RENAME
  1691. *Title: RENAME  (File Access Command)
  1692. If you want to save the current
  1693. circuit under a new file name, use
  1694. the RENAME button.  This will bring
  1695. up the Save File Requester.
  1696.  
  1697. If you want to save the Parts List
  1698. as a library and the circuit has a
  1699. name (i.e., it has already been
  1700. saved or loaded), you will need to
  1701. use RENAME instead of SAVE to get
  1702. the Save File Requester.
  1703.  
  1704. See the topic SAVING CIRCUITS for
  1705. more information on saving
  1706. circuits.
  1707.  
  1708. See the topic THE FILE REQUESTER
  1709. for details of using the file
  1710. requester.
  1711.  
  1712. RENAME is available as SHIFT SAVE.
  1713. !
  1714. *3 RESET
  1715. *Title: RESET  (Circuit Control Command)
  1716. RESET restores a circuit to the
  1717. state it was in before the last
  1718. START command (or to the state it
  1719. was in when the circuit was loaded,
  1720. if START has not been pressed).
  1721.  
  1722. In Select Mode, RESET unselects all
  1723. the selected cells, but leaves you
  1724. in Select Mode so you can select a
  1725. different collection of cells.
  1726. !
  1727. *3 SAVE
  1728. *Title: SAVE  (File Access Command)
  1729. If cells are selected, CELLS will
  1730. save the selected cells as a
  1731. circuit (with no Parts List or
  1732. library list).  It will bring up
  1733. the Save File requester to ask you
  1734. what name to use.
  1735.  
  1736. If no cells are selected, then if
  1737. CELLS knows the name of the circuit
  1738. already (i.e., you already saved
  1739. the circuit at least once or you
  1740. used LOAD to load the circuit),
  1741. then pressing the SAVE button will
  1742. save the current state of the
  1743. circuit, its Parts List, and its
  1744. library list without your having to
  1745. specify the name of the file again.
  1746. CELLS will use the same name as
  1747. before.
  1748.  
  1749. If CELLS does not know the name of
  1750. the circuit (i.e., you have just
  1751. drawn it for the first time), then
  1752. CELLS will open the Save File
  1753. Requester to get the name of the
  1754. circuit, and the disk and folder
  1755. where you want to store the
  1756. circuit.
  1757.  
  1758. If you want to save a named circuit
  1759. using a different name, you will
  1760. need to use the RENAME button
  1761. instead.
  1762. !
  1763. *4 Saving Selections            (Link)
  1764. *Link: Saving Circuits  Saving a Selection
  1765. *4 Saving Circuits              (Link)
  1766. *Link: Saving Circuits
  1767. *4 Saving Parts Libraries       (Link)
  1768. *Link: Parts Libraries  Creating a Parts Library
  1769. *4 Using the File Requester     (Link)
  1770. *Link: The File Requester
  1771. !
  1772. *3 SELECT
  1773. *Title: SELECT  (Editing Command)
  1774. Use SELECT to begin selecting cells
  1775. that you will move, copy, clear,
  1776. clip, wipe, turn into a part,
  1777. undo, or save as a circuit.
  1778.  
  1779. You select cells by dragging out a
  1780. selection box, or by clicking on
  1781. them with the right mouse button.
  1782.  
  1783. To unselect the selected cells
  1784. without altering them, press SELECT
  1785. again.  This will return you to
  1786. Drawing Mode.  If you want to
  1787. unselect the cells without leaving
  1788. Select Mode, press RESET.
  1789.  
  1790. See EDITING CIRCUITS for a detailed
  1791. description of how to select and
  1792. manipulate cells.
  1793. !
  1794. *3 START
  1795. *Title: START  (Circuit Control Command)
  1796. When your circuit is ready to go
  1797. and you have added electrons to it,
  1798. press START.  CELLS will begin
  1799. caluclating new generations of
  1800. cells (i.e., the electrons will
  1801. flow).
  1802.  
  1803. Press the STOP button to go back to
  1804. editing the circuit.  CELLS will
  1805. stop the circuit automatically if
  1806. all the electrons are eliminated.
  1807.  
  1808. When you press START, a copy of the
  1809. current circuit is saved so that
  1810. if you press the RESET button, the
  1811. original state of the circuit is
  1812. restored.  This is a convenient way
  1813. to undo the effects of running a
  1814. circuit.
  1815.  
  1816. You can control the generation
  1817. update speed using the up and down
  1818. arrows on the keyboard.  Use the
  1819. STEP button to update by one
  1820. generation at a time.
  1821.  
  1822. You can use the sliders and zoom
  1823. gadgets to change the visible part
  1824. of the grid even while the circuit
  1825. is running.
  1826.  
  1827. See the topic RUNNING CIRCUITS for
  1828. more information.
  1829. !
  1830. *3 STEP
  1831. *Title: STEP  (Circuit Control Command)
  1832. When you press START, CELLS
  1833. caluclates new generations
  1834. continuously until you press STOP,
  1835. or until all the electrons are
  1836. eliminated.
  1837.  
  1838. If you want to be able to see
  1839. exactly what happens from one
  1840. generation to the next, you should
  1841. use the STEP button instead.  This
  1842. updates the grid by one generation
  1843. only.  You can view the results for
  1844. as long as you want before you
  1845. press STEP again.  You can even
  1846. edit the circuit or alter electron
  1847. positions in between STEPs.
  1848.  
  1849. STEP is available as SHIFT START.
  1850. !
  1851. *3 STOP
  1852. *Title: STOP  (Circuit Control Command)
  1853. STOP is available only when the
  1854. circuit is running.  Pressing STOP
  1855. will stop the circuit from running
  1856. and return you to Drawing Mode.
  1857. !
  1858. *3 UNDO
  1859. *Title: UNDO  (Editing Command)
  1860. UNDO un-does whatever editing you
  1861. last did.  Pressing UNDO a second
  1862. time re-does the changes.
  1863.  
  1864. In Select Mode, only the selected
  1865. cells are changed.
  1866.   
  1867. UNDO will undo the effects of the
  1868. following commands:  RESET, WIPE,
  1869. SELECT, MOVE, COPY, CLEAR, CLIP,
  1870. CENTER, UNDO, drawing new cell
  1871. states, and adding a part.
  1872.  
  1873. If multiple copies where made
  1874. during a MOVE or COPY command, UNDO
  1875. will remove all of them.
  1876.  
  1877. Only the most recent change to the
  1878. cell states can be undone (up to
  1879. the last time the left mouse button
  1880. was pressed down).
  1881.  
  1882. UNDO does not undo:
  1883.  
  1884.   The NEW command,
  1885.  
  1886.   Changes due to loading a new
  1887.   circuit from a file,
  1888.  
  1889.   Changes in the selection (e.g., 
  1890.   UNDO will not reselect cells
  1891.   that have been unselected),
  1892.   
  1893.   Changes to the magnification
  1894.   level or slider positions,
  1895.  
  1896.   Changes in the parts or library
  1897.   lists,
  1898.  
  1899.   Changes due to saving a circuit
  1900.   or library to disk.
  1901. !
  1902. *3 WIPE
  1903. *Title: WIPE (Editing Command)
  1904. Wipe converts any cells in one of
  1905. the electron states into the Wire
  1906. state (i.e., it erases all the
  1907. electrons).
  1908.  
  1909. If cells are selected, only the
  1910. selected cells are changed,
  1911. otherwise the entire grid is wiped.
  1912. !
  1913. *1 Keyboard Commands
  1914. A number of the functions of the
  1915. control panel are also available
  1916. from the keyboard.  In addition,
  1917. there are also a few keyboard
  1918. functions that are not available
  1919. on the control panel.
  1920. !
  1921. *2 The Arrow Keys
  1922. The Up and Down arrow keys control
  1923. the delay time that CELLS uses to
  1924. pause between generations when a
  1925. circuit is running.  The Up Arrow
  1926. increases the delay time while the
  1927. Down Arrow decreases the delay
  1928. time.
  1929.  
  1930. The default speed is appropriate
  1931. for most moderately complex
  1932. circuits.
  1933.  
  1934. The delay time can only be altered
  1935. from the keyboard.
  1936. !
  1937. *2 The ENTER Key
  1938. The ENTER key is bound to the STEP
  1939. function of the Control Panel. 
  1940. Pressing ENTER causes CELLS to
  1941. calculate the next generation of
  1942. the cells in the circuit.
  1943.  
  1944. STEP does NOT update the copy of
  1945. the circuit used by the RESET
  1946. command to undo the effects of
  1947. running a circuit.
  1948. !
  1949. *2 The "B" Key
  1950. The "B" Key on the keyboard toggles
  1951. the buffering mode.
  1952.  
  1953. CELLS initially starts in double-
  1954. buffer mode (all changes to the
  1955. grid are done off-screen then the
  1956. screen is updated all at once). 
  1957.  
  1958. Pressing "B" once switches to
  1959. single-buffer mode (updates are
  1960. made directly to the screen). 
  1961.  
  1962. Pressing "B" again switches back to
  1963. double-buffer mode.
  1964.  
  1965. Single-buffer mode is slightly
  1966. faster than double-buffer mode,
  1967. but the difference is negligable
  1968. if there are more than a few
  1969. electrons in the circuit.
  1970.  
  1971. Note that in single-buffer mode,
  1972. ALL screen updates are done
  1973. directly to the screen, including
  1974. updates due to scrolling and
  1975. zooming.
  1976. !
  1977. *2 The HELP Key
  1978. The HELP key calls up the Help
  1979. system.
  1980. !
  1981. *2 The BACKSPACE and DELETE Keys
  1982. The BACKSPACE and DELETE keys are
  1983. both bound to the CLEAR function
  1984. available on the control panel.
  1985.  
  1986. Pressing one of these keys will
  1987. remove any selected cells (i.e.,
  1988. will change their states to
  1989. Background).  If no cells are
  1990. selected, the entire grid is
  1991. cleared.
  1992. !
  1993. *1 The File Requester
  1994. The File Requester is used whenever
  1995. you want to SAVE, LOAD, or RENAME a
  1996. file.  The File Requester allows
  1997. you to specify the disk, directory,
  1998. and file name of the file you want
  1999. to use.
  2000.  
  2001. It also lets you:  create new
  2002. directories; delete files and
  2003. directories; get information about
  2004. files, directories and disks; and
  2005. choose file names from a list of
  2006. names or by typing them in.
  2007. !
  2008. *2 The File Requester Layout
  2009. The File Requester is separated
  2010. into four main areas:  the file
  2011. name gadget, the directory listing
  2012. area, the button area, and the
  2013. message area.
  2014. !
  2015. *2 Enabling the Directory List
  2016. Since looking up file names can be
  2017. quite slow, particularly for large
  2018. directories on floppy disks, the
  2019. directory listing gadgets are
  2020. usually disabled.
  2021.  
  2022. To look up the file names in the
  2023. current directory and enable the
  2024. list gadgets, click on the gadget
  2025. that displays the name of the
  2026. directory.
  2027.  
  2028. Names that begin with a slash (/)
  2029. are sub-directories of the current
  2030. directory.  If you select one of
  2031. these, it will become the current
  2032. directory, and the list area will
  2033. show the files it contains.
  2034.  
  2035. Click on the directory name at any
  2036. time to get an updated list of
  2037. names (in case some other program
  2038. has changed the contents of the
  2039. current directory).
  2040. !
  2041. *2 Disabling the Directory List
  2042. If the directory list is enabled,
  2043. you can disable it by clicking on
  2044. the directory name with the SHIFT
  2045. key held down.
  2046.  
  2047. The name list gadgets will become
  2048. inactive, and you will have to type
  2049. the file name to select it.
  2050. !
  2051. *2 Selecting a File
  2052. You can select a file in a number
  2053. of ways:
  2054.  
  2055.   By typing its name in the file
  2056.   name gadget and pressing SAVE or
  2057.   LOAD, or pressing RETURN;
  2058.  
  2059.   By clicking on its name in the
  2060.   directory listing and pressing
  2061.   SAVE or LOAD; or
  2062.  
  2063.   By double-clicking on its name
  2064.   in the directory listing.
  2065.  
  2066. If you type the name of the file,
  2067. you can include path information as
  2068. well.  This lets you select files
  2069. without changing the current
  2070. directory.
  2071. !
  2072. *2 Deleting a File
  2073. You can erase a file from disk by
  2074. typing its name or selecting its
  2075. name in the directory listing, and
  2076. pressing the DELETE button.
  2077.  
  2078. You can delete either files or
  2079. directories in this way.
  2080.  
  2081. You will not be prompted to confirm
  2082. the delete, so be careful!
  2083. !
  2084. *2 Changing Directories
  2085. There are a number of ways to
  2086. select a new current directory:
  2087.  
  2088.   Type the new directory (or a 
  2089.   relative path to the new
  2090.   directory) in the file name
  2091.   gadget and press RETURN;
  2092.  
  2093.   Select a sub-directory name in
  2094.   the name list (sub-directories
  2095.   are indicated by a slash (/) 
  2096.   preceeding their names);
  2097.  
  2098.   Press the Left Arrow gadget
  2099.   to move to the parent of the
  2100.   current directory;
  2101.  
  2102.   Press the DRIVE button to
  2103.   select the next drive with a
  2104.   mounted disk; or
  2105.  
  2106.   Insert a floppy disk into
  2107.   a drive.
  2108. !
  2109. *3 Special Characters for Directories
  2110. The colon (:) is used to separate a
  2111. device name from a file or
  2112. directory name on that device.
  2113.  
  2114. The slash character (/) is used to
  2115. separate directory names from one
  2116. another, and from the name of a
  2117. file within a directory.
  2118.  
  2119. A slash by itself indicates the
  2120. parent directory.
  2121.  
  2122. A colon by itself indicates the
  2123. root of the filing system.
  2124.  
  2125. A slash preceeding a file or
  2126. directory name means look for the
  2127. file in the parent directory.
  2128.  
  2129. A colon preceeding a file or
  2130. directory name means look in the
  2131. root directory for the file.
  2132. !
  2133. *2 Creating Directories
  2134. To create a new sub-directory of
  2135. the current directory, type the
  2136. name of the new directory in the
  2137. file name gadget and press MAKEDIR.
  2138.  
  2139. The new directory will become the
  2140. current directory automatically.
  2141. !
  2142. *2 Getting File Information
  2143. You can use the INFO button to find
  2144. out information about a file
  2145. directory or disk.
  2146.  
  2147. You can get the file size,
  2148. protection, and creation date, or
  2149. its comment field; or you can get
  2150. the amount of free space on the
  2151. disk.
  2152. !
  2153. *2 The Message Area
  2154. The message area is the boxed-in
  2155. space at the bottom of the
  2156. requester.  This is where CELLS
  2157. shows error and informational
  2158. messages when you are using the
  2159. File Requester.
  2160.  
  2161. A message will remain on the screen
  2162. only until you press the next
  2163. button, or do some other action;
  2164. then it will be erased.  If you
  2165. click in the message box, you will
  2166. get back the last message that
  2167. appeared there.
  2168. !
  2169. *2 The Left Arrow Gadget
  2170. The left arrow gadget that appears
  2171. next to the directory name is for
  2172. moving to the parent directory of
  2173. the current directory.
  2174.  
  2175. If you press a SHIFT key when you
  2176. click on the left arrow gadget, the
  2177. current directory will become the
  2178. root directory of the current
  2179. filing system (i.e., you will go to
  2180. the top-most directory or the
  2181. device itself).
  2182.  
  2183. If you click the left arrow when
  2184. you are already at the top-most
  2185. level (and the directory list
  2186. gadgets are active), or if you hold
  2187. down the ALT key when you click the
  2188. left arrow, you will get a listing
  2189. of all the volumes and mounted
  2190. devices known to the system.  You
  2191. can choose from among these as you
  2192. would from any other directory.
  2193. !
  2194. *2 The SAVE Button
  2195. Once you have typed a file name in
  2196. the name gadget, or have clicked
  2197. on a name in the directory list
  2198. area, press the SAVE button to save
  2199. the file to disk.
  2200.  
  2201. If a file with that name already
  2202. exists, you will be prompted to
  2203. confirm that you want to over-write
  2204. the existing file.  The SAVE button
  2205. will be replaced by a REWRITE
  2206. button; press this button to
  2207. confirm the SAVE command, or click
  2208. on any other gadget to select
  2209. another name.
  2210. !
  2211. *2 The LOAD Button
  2212. Once you have typed a file name
  2213. into the name gadget, or have
  2214. selected a name in the directory
  2215. listing, click the LOAD button.
  2216.  
  2217. The circuit or library will be
  2218. loaded from disk.
  2219. !
  2220. *2 The DRIVE Button
  2221. If the file or directory you want
  2222. to use is on a different disk from
  2223. the one whose name is displayed in
  2224. the directory name gadget, you can
  2225. press the DRIVE button to change to
  2226. another drive.
  2227.  
  2228. The DRIVE button switches between
  2229. all active drives that have disks
  2230. mounted.  The drives are searched
  2231. in a loop, so if you keep pressing
  2232. DRIVE, you'll come back to were you
  2233. started.
  2234.  
  2235. If you insert a disk into a flopy
  2236. disk drive, that disk will become
  2237. the current disk automatically.
  2238. !
  2239. *2 The INFO Button
  2240. Use the INFO button to get
  2241. information about files,
  2242. directories or disks.
  2243.  
  2244. If a file is selected or a name is
  2245. in the file name gadget when you
  2246. press INFO, you will get
  2247. information about that file,
  2248. otherwise, INFO will give
  2249. information on the current
  2250. directory.
  2251.  
  2252. INFO gives the file size,
  2253. protection and creation date.
  2254.  
  2255. If you hold down SHIFT when you
  2256. press INFO, you will get the file's
  2257. comment (set by the FILENOTE
  2258. command from a CLI; see the
  2259. AmigaDos documentation for more
  2260. information on the FILENOTE
  2261. command).
  2262.  
  2263. If you hold down the ALT key when
  2264. you press INFO, you will get
  2265. information about the disk
  2266. containing the current directory,
  2267. such as the number of free blocks,
  2268. whether it is locked, etc.
  2269. !
  2270. *2 The DELETE Button
  2271. Use the DELETE button to erase the
  2272. selected file or directory.  DELETE
  2273. does not ask you to confirm the
  2274. delete command, so be careful. 
  2275.  
  2276. The delete command is convenient
  2277. when you want to save a circuit to
  2278. a disk that does not have very much
  2279. room left, and you need to free up
  2280. some space.
  2281. !
  2282. *2 The MAKEDIR Button
  2283. The MAKEDIR button lets you create
  2284. a new sub-directory in the current
  2285. directory.  Simply type the name
  2286. for the new directory in the file
  2287. name gadget, and press MAKEDIR.
  2288.  
  2289. The current directory will change
  2290. to the new directory automatically.
  2291. !
  2292. *2 The CANCEL Button
  2293. Use the CANCEL button to cancel the
  2294. File Requester without loading or
  2295. saving any files.
  2296.  
  2297. If a QUIT is in progress, pressing
  2298. CANCEL will also cancel the QUIT.
  2299. !
  2300. *2 SAVE AS LIBRARY Check Box
  2301. Click on this gadget to save the
  2302. current Parts List as a Parts
  2303. Library.  Note that the circuit
  2304. itself will not be saved when you
  2305. save the Parts List.
  2306. !
  2307. *3 Saving as a Library          (Link)
  2308. *Link: Parts Libraries  Creating a Parts Library
  2309. !
  2310. *2 LOAD LIBRARY AS PARTS Check Box
  2311. Click on this gadget to load a
  2312. library into the Parts List instead
  2313. of the library list.  This allows
  2314. you to add to or edit the parts in
  2315. a library.
  2316.  
  2317. Note that the current contents of
  2318. the Parts List and library list
  2319. will be removed before the library
  2320. is loaded.
  2321. !
  2322. *3 Loading Libraries as Parts   (Link)
  2323. *Link: Parts Libraries  Editing a Parts Library
  2324. !
  2325. *1 The Parts Requester
  2326. The Parts Requester appears when
  2327. you press the PART button when
  2328. there are no cells selected.
  2329.  
  2330. You use the Parts Requester to
  2331. select a part from the Parts List
  2332. or from a library that you have
  2333. loaded into the current circuit.
  2334. Parts can be viewed either by name,
  2335. or graphically.
  2336.  
  2337. The parts requester also lets you
  2338. remove parts from the Parts List,
  2339. or libraries from the libraries
  2340. list.
  2341. !
  2342. *2 The Parts Requester Layout
  2343. The Parts Requester is divided into
  2344. three main areas:  the part name
  2345. list, the library name list, and
  2346. the button area.
  2347.  
  2348. The part name list is on the left
  2349. and contains the list itself, the
  2350. part name gadget, and a slider for
  2351. the name list.
  2352.  
  2353. The library name list is at the
  2354. upper right and contains the
  2355. list of libraries and a slider for
  2356. the list.  A library must always be
  2357. selected.
  2358.  
  2359. The button area is at the lower
  2360. right.
  2361. !
  2362. *2 Selecting a Part
  2363. There are a number of ways to
  2364. select a part from the list.
  2365. First, make sure the proper library
  2366. is selected (the selected library
  2367. is highlighted).
  2368.  
  2369. To select a part do one of the
  2370. following:
  2371.  
  2372.   Type the name of the part into
  2373.   the part name gadget and press
  2374.   RETURN or push the OK button;
  2375.  
  2376.   Click on the part name in the 
  2377.   part name list and press OK;
  2378.  
  2379.   Double-click on the part name in
  2380.   the part name list;
  2381.  
  2382.   In VIEW Mode, scroll the part
  2383.   list so that the desired part
  2384.   is being displayed and press OK.
  2385.  
  2386. You can use the slider to position
  2387. the list so that you can click on
  2388. the name you want.  Use the arrows
  2389. to scroll by one part at a time, or
  2390. drag the slider to move to a
  2391. specific position.  Note that the
  2392. list is updated as you drag so you
  2393. can always see where you are going,
  2394. even in VIEW Mode.  Hold down the
  2395. arrow gadgets to scroll the list
  2396. continuously.
  2397. !
  2398. *2 Selecting a Library
  2399. Select a library by clicking on its
  2400. name in the library name list. 
  2401.  
  2402. Note that the Parts List is listed
  2403. as one of the libraries so select
  2404. its name if you want to use a part
  2405. from the circuit's Parts List.
  2406.  
  2407. Use the slider to scroll the list
  2408. so that you can see the library you
  2409. want.  Use the arrows to scroll one
  2410. name at a time, or drag the slider
  2411. knob to the desired position in the
  2412. list.  Note that the list is
  2413. updated as you drag so you can
  2414. always tell where you are.  Hold
  2415. down the arrow gadgets to scroll
  2416. the list continuously.
  2417. !
  2418. *2 The OK Button
  2419. When you have selected the part you
  2420. want (and its name is in the name
  2421. gadget), press the OK button. 
  2422. CELLS will place a copy of the part
  2423. into the grid, and will enter Copy
  2424. Mode automatically.
  2425. !
  2426. *2 The CANCEL Button
  2427. Press the CANCEL button to cancel
  2428. the Parts Requester without
  2429. loading a part.
  2430. !
  2431. *2 The REMOVE Button
  2432. Press the REMOVE button to remove
  2433. the selected part from the Parts
  2434. list, or the selected library from
  2435. the library list (if no name is in
  2436. the name gadget).
  2437.  
  2438. Note that you can not remove parts
  2439. from libraries other than the Parts
  2440. List, nor can you delete the Parts
  2441. List from the library list.
  2442.  
  2443. Once a part is removed from the
  2444. parts list, it can not be
  2445. recovered.  Removing a part does
  2446. not affect any occurences of the
  2447. part within the circuit itself,
  2448. however.
  2449.  
  2450. If you remove a library from the
  2451. list and decide later that you want
  2452. it back, you can always re-LOAD it
  2453. from disk.
  2454. !
  2455. *2 The VIEW Button
  2456. Use the VIEW button to change
  2457. between viewing names of parts and
  2458. images of parts.
  2459.  
  2460. The VIEW button will be highlighted
  2461. when you are viewing images of
  2462. parts.  In this case, the picture
  2463. of the selected part replaces the
  2464. part name list, and the sliders
  2465. will scroll through the pictures
  2466. of the parts.  A part's name
  2467. appears in the name gadget when its
  2468. picture is shown.
  2469.  
  2470. Press VIEW again to go back to
  2471. viewing names of parts instead of
  2472. images.
  2473.  
  2474. CELLS remembers what mode you were
  2475. last using and will open the Parts
  2476. Requester in that mode the next
  2477. time you want to select a part.
  2478. !
  2479. *1 The HELP System
  2480. Press the HELP button on the Help
  2481. Requester for complete details
  2482. concerning the HELP system.
  2483.  
  2484. For details about the help file
  2485. format and customizing Help, see
  2486. the topic HELP FILE FORMAT.
  2487. !
  2488. *1 The CELLS command
  2489. You run CELLS from a CLI simply by
  2490. typing the command:
  2491.  
  2492.     1> CELLS
  2493.  
  2494. provided CELLS in in the current
  2495. directory, or in the command path.
  2496.  
  2497. CELLS needs access to some special
  2498. files, like the Moonstone Font,
  2499. which are described in the main-
  2500. level topic INSTALLING CELLS.
  2501.  
  2502. You can have CELLS open a Ciruit as
  2503. soon as it is up and running by
  2504. supplying the circuit file name on
  2505. the command line; for example:
  2506.  
  2507.     1> CELLS MyCircuit
  2508.  
  2509. will cause CELLS to open the file
  2510. called "MyCircuit" as soon as it
  2511. is loaded.
  2512. !
  2513. *1 Installing CELLS
  2514. CELLS needs access to three files:
  2515. Diskfont.library, Moonstone.font,
  2516. and Cells.Help.  These should be in
  2517. the DEVS:, FONTS:, and HELP:
  2518. directories, respectively.
  2519.  
  2520. In addition, CELLS looks for a file
  2521. called Cells.Colors, if it exists
  2522. in the current directory, to get
  2523. information about the colors to use
  2524. for the CELLS screen.
  2525.  
  2526. You may want to install the program
  2527. called NL-DAEMON in your startup
  2528. sequence to take full advantage of
  2529. the 3D look of the CELLS imagery.
  2530. !
  2531. *2 Changing the Screen Colors
  2532. You can use the file Cells.Colors
  2533. to modify the colors that CELLS
  2534. uses for its custom screen.  The
  2535. CELLS screen is 3 bit-planes deep,
  2536. so there are 8 colors available.
  2537.  
  2538. Each line of the Cells.Colors file
  2539. specifies one of these 8 colors:  
  2540. the first 3 characters on each line
  2541. represent hexadecimal digits (0-F)
  2542. that determine the red, green, and
  2543. blue gun values for the color.
  2544.  
  2545. For example, the number F90 means
  2546. the red gun is set at 15 (F), the
  2547. green gun at 9, and the blue gun
  2548. at 0.  You can use the Palette tool
  2549. provided on the WorkBench disk to
  2550. experiment with different colors
  2551. and to determine the color values.
  2552.  
  2553. The Cells.Colors file should be in
  2554. the current directory.
  2555. !
  2556. *3 Color Number Assignments
  2557. Color       Assignment
  2558.  
  2559.   0         3D Background Color
  2560.   1         3D Highlight Color
  2561.   2         3D Foreground Color
  2562.   3         3D Shadow Color and
  2563.             Background state Color
  2564.   
  2565.   4         Electron Tail Color
  2566.   5         Electron Head Color
  2567.   6         3D Hightlight Reversed
  2568.   7         Wire Color
  2569. !
  2570. *3 Specifying a WorkBench Color
  2571. If the first character on a line is
  2572. an equal sign (=), this indicates
  2573. that the corresponding workbench
  2574. color should be used.
  2575. !
  2576. *3 Specifiying a Default Color
  2577. If the first character on a line is
  2578. an asterisk (*), this indicates
  2579. that the default CELLS color should
  2580. be used.
  2581. !
  2582. *3 Comments
  2583. Blank lines, lines beginning with a
  2584. space, and lines begining with an
  2585. exclamaition point (!) are treated
  2586. as comment lines and are ignored.
  2587.  
  2588. Any characters past the RGB gun
  2589. values are ignored, so you can put
  2590. comments following any color value.
  2591. !
  2592. *3 Default Color Values
  2593. The CELLS default colors are:
  2594.  
  2595.    465     Dark Grey
  2596.    EFC     White
  2597.    8A8     Light Grey
  2598.    032     Black       (Blank)
  2599.  
  2600.    FC9     Light Gold  (Tail)
  2601.    F90     Gold        (Head)
  2602.    961     Dark Gold
  2603.    0A0     Green       (Wire)
  2604. !
  2605. *2 Moonstone Font
  2606. CELLS uses a 320 x 200 screen but
  2607. none of the fonts provided with the
  2608. Amiga are designed for use with
  2609. this screen resolution (a serious
  2610. over-sight on Commodore's part).
  2611.  
  2612. In order to make CELLS look good,
  2613. the author designed a special font
  2614. specifically for low-res screens.
  2615. This font is called MOONSTONE and
  2616. should be provided with CELLS.
  2617. Place it in your FONTS: directory
  2618. with your other fonts.
  2619.  
  2620. If the Moonstone font is not
  2621. available to CELLS it will still
  2622. run, but things will look pretty
  2623. bad (none of the words will fit in
  2624. the space they are supposed to be
  2625. in).
  2626. !
  2627. *2 The Help File
  2628. The Cells.Help file contains the
  2629. complete on-line help system for
  2630. CELLS.  If you want to use the HELP
  2631. button, you will need to be sure
  2632. CELLS can find the Cells.Help file.
  2633.  
  2634. Cells.Help should be in the current
  2635. directory or on the volume named
  2636. HELP:.  You can ASSIGN HELP: to be
  2637. any directory you wish by adding an
  2638. ASSIGN command to your startup
  2639. sequence.  See the AmigaDOS
  2640. documentation for information on
  2641. the ASSIGN command.
  2642. !
  2643. *2 3D Gadgets
  2644. CELLS is designed using a color
  2645. scheme and gadget layout that makes
  2646. its buttons look 3-dimensional. 
  2647. This is part of the author's so-
  2648. called "New Look" for Amiga
  2649. programs.
  2650.  
  2651. To make this even more effective,
  2652. you should have a copy of the
  2653. program called NL-DAEMON, by the
  2654. same author, available for free. 
  2655. It will make the standard Intuition
  2656. window and screen gadgets for ALL
  2657. windows and screens appear in the
  2658. 3D New Look.
  2659. !
  2660. *2 NL-DAEMON                    (Link)
  2661. *Link: About CELLS  Other Programs  NL-DAEMON
  2662. !
  2663. *1 CELLS File Format
  2664. The CELLS file is a standard text
  2665. file which can be edited by any
  2666. text editor (such as ED, EDIT, or
  2667. MEMACS).
  2668.  
  2669. The first line in CELLS file must
  2670. be either a CIRCUIT or LIBRARY
  2671. command.  CELLS will not load a
  2672. file that does not start with one
  2673. of these commands.
  2674.  
  2675. Following a CIRCUIT command can be
  2676. CELLSIZE, ORIGIN, and VIEW
  2677. commands, although these are
  2678. optional.  Following these commands
  2679. is the definition of the circuit
  2680. itself, as described in the CELL
  2681. STATE SYMBOLS topic below.
  2682.  
  2683. Any parts that belong to the
  2684. circuit's Parts List are listed
  2685. next.  Each part must have a PART
  2686. command, followed by the definition
  2687. of the cells in the part itself,
  2688. which has the same form as a
  2689. circuit.
  2690.  
  2691. Finally, any libraries that should
  2692. be loaded with the circuit must be
  2693. listed in an INCLUDE statement at
  2694. the end of the file.
  2695. !
  2696. *2 The CIRCUIT Command
  2697. Format:  CIRCUIT <name>
  2698.  
  2699. The <name> is the name of the
  2700. circuit.  This is not actually used
  2701. by CELLS, but may be used to
  2702. identify the file in the future.
  2703.  
  2704. The CIRCUIT command identifies the
  2705. file as a circuit (as opposed to a
  2706. library).  When CELLS is asked to
  2707. open a file containing a CIRCUIT
  2708. command, the file will be loaded
  2709. as a circuit.  Any currently open
  2710. circuit will be cleared before the
  2711. new one is loaded.
  2712.  
  2713. The CIRCUIT command must be the
  2714. first command within the file.  A
  2715. file that includes a CIRCUIT
  2716. command cannot also include a
  2717. LIBRARY command.
  2718. !
  2719. *2 The LIBRARY Command
  2720. Format:  LIBRARY <name>
  2721.  
  2722. The <name> is the name of the
  2723. library.  This is not actually used
  2724. by CELLS, but may be used to
  2725. identify the file in the future.
  2726.  
  2727. The LIBRARY command identifies the
  2728. file as a library (as opposed to a
  2729. circuit).  When CELLS is asked to
  2730. open a file containing a LIBRARY
  2731. command, the file will be loaded
  2732. as a library, and added to the
  2733. current circuit's library list.
  2734.  
  2735. The LIBRARY command must be the
  2736. first command within the file.  A
  2737. file that includes a LIBRARY
  2738. command cannot also include a
  2739. CIRCUIT command.
  2740. !
  2741. *2 The CELLSIZE Command
  2742. Format:  CELLSIZE <size>
  2743.  
  2744. The <size> is the size, in pixels,
  2745. of grid cells visible on the
  2746. screen.
  2747.  
  2748. The CELLSIZE command is optional,
  2749. and if omitted, the cell size will
  2750. remain unchanged when the file is
  2751. loaded.
  2752.  
  2753. CELLSIZE is not valid in a LIBRARY.
  2754. !
  2755. *2 The ORIGIN Command
  2756. Format:  ORIGIN <x> <y>
  2757.  
  2758. The ORIGIN command specifies the
  2759. grid position of the upper left-
  2760. hand cell given in the circuit
  2761. definiton that follows (note that
  2762. this cell may in fact be blank).
  2763.  
  2764. The <x> and <y> values must be
  2765. within the grid.  Any cells that
  2766. fall outside the grid bounds will
  2767. be ignored.
  2768.  
  2769. ORIGIN is not valid in a LIBRARY.
  2770. !
  2771. *2 The VIEW Command
  2772. Format:  VIEW <x> <y>
  2773.  
  2774. The VIEW command specifies the cell
  2775. position of the cell that will be
  2776. visibile in the upper left-hand
  2777. corner of the screen.  This,
  2778. together with the CELLSIZE command,
  2779. determines the visible portion of
  2780. the grid.
  2781.  
  2782. The <x> and <y> values must be
  2783. such that the visibile area is
  2784. entirely contained within the grid.
  2785.  
  2786. VIEW is not valid in a LIBRARY.
  2787. !
  2788. *2 The PART Command
  2789. Format:  PART <name>
  2790.  
  2791. The PART command ends the previous
  2792. part (or the circuit itself) and
  2793. begins the definition of a new
  2794. part.  <Name> is the name of the
  2795. part as it appears in the Parts
  2796. List.
  2797.  
  2798. Following the PART command should
  2799. be the definition of the part.  Its
  2800. format is the same as that of a
  2801. circuit, and is described below in
  2802. CELLS STATE SYSMBOLS.
  2803.  
  2804. You can have as many parts in the
  2805. file as memory allows.
  2806. !
  2807. *2 The INCLUDE command
  2808. Format:  INCLUDE <library>
  2809.  
  2810. The INCLUDE command loads a library
  2811. automatically into the library list
  2812. as the circuit is loaded.
  2813.  
  2814. <Library> is the file name of the
  2815. library to load.  You can include a
  2816. path name so that CELLS can locate
  2817. the library file, if it is not in
  2818. the current directory.  This also
  2819. is the name as it will appear in
  2820. the library list.
  2821. !
  2822. *2 The Cell State Symbols
  2823. When a circuit is being defined,
  2824. each line represents a line in the
  2825. grid, and every two characters
  2826. represent a cell.
  2827.  
  2828. There are four cell states:
  2829.  
  2830.    []       Wire
  2831.    ##       Electron Head
  2832.    ==       Electron Tail
  2833.    .        Background
  2834.  
  2835. You need only specify background
  2836. state cells when you specifically
  2837. want them included, otherwise use
  2838. spaces.  Trailing spaces may be
  2839. omitted.
  2840. !
  2841. *2 Comments
  2842. CELLS uses the exclamaition
  2843. point (!) and the asterisk (*) as
  2844. comment characters.  If either of
  2845. these characters appears in a file,
  2846. the remainder of the line is
  2847. ignored.
  2848.  
  2849. The comment character can appear
  2850. anywhere on an input line.
  2851. !
  2852. *2 Loading Errors
  2853. If there are any errors in the
  2854. circuit or library file, CELLS will
  2855. put up a requester telling you
  2856. about the error.  Every eight
  2857. errors or so you will be asked to
  2858. confirm that CELLS should continue
  2859. to load the file.  This is so that
  2860. in case you have a badly corrupted
  2861. file, you don't have to keep seeing
  2862. error messages forever.
  2863. !
  2864. *1 HELP File Format
  2865. The HELP file is a standard text
  2866. file which you can create using any
  2867. text editor (ED, EDIT, or MEMACS,
  2868. for example).
  2869.  
  2870. The file is broken up into topics
  2871. by embedding Help commands in the
  2872. file.  Any line that begins with an
  2873. asterisk (*) is a Help command.
  2874. (If you want a line to start with
  2875. an asterisk, use two asterisks).
  2876.  
  2877. Any lines that do not begin with a
  2878. Help command (or the comment
  2879. character) are considered to be
  2880. part of a help topic's text.
  2881. The lines following a new topic's
  2882. name belong to that topic.
  2883.  
  2884. Text lines that come before the
  2885. first topic specification are used
  2886. as the introductory text when you
  2887. first press HELP.  If there are no
  2888. such text lines, then HELP begins
  2889. with the topic list.
  2890. !
  2891. *2 Specifiying a Topic
  2892. Each topic is at a specific level
  2893. of the Help tree.  The top-most
  2894. level of topics is level 1, their
  2895. sub-topics are level 2, etc.
  2896.  
  2897. To specify a topic, you must
  2898. specify its level and its name.
  2899. Give the level as a numeric value
  2900. directly following the asterisk.
  2901. Separate the number from the name
  2902. by a space; the remainder of the
  2903. line is the topic name.
  2904.  
  2905. For example:
  2906.  
  2907. **2 This is a Level 2 Topic
  2908.  
  2909. specifies a level 2 sub-topic, with 
  2910. name "This is a Level 2 Topic".
  2911.  
  2912. Level 1 topics appear in the main
  2913. topic list.  Higher topic numbers
  2914. appear as sub-topics of the lower-
  2915. number topics that preceed them.
  2916.  
  2917. For example, the topic specified
  2918. above will be a sub-topic of the
  2919. level 1 topic that it follows.
  2920.  
  2921. Levels can be nested to any depth.
  2922.  
  2923. Use this Help file as an example of
  2924. how to construct a Help Database.
  2925. !
  2926. *2 The TITLE Command
  2927. Format:  *Title: <title>
  2928.  
  2929. When you are reading the text of a
  2930. topic, the topic's name usually
  2931. appears as the title of the Help
  2932. Requester.  You can specify another
  2933. title by using the TITLE command.
  2934. The remainder of the line is used
  2935. as the title.
  2936.  
  2937. The TITLE command can appear
  2938. anywhere within the text of the
  2939. topic whose title is being defined.
  2940. !
  2941. *2 The LINK Command
  2942. Format:  *Link: <topics>
  2943.  
  2944. Often you want to have the same
  2945. text appear in more than one place
  2946. in the file.  Rather than duplicate
  2947. the text, you can create a link
  2948. from one topic to another.
  2949.  
  2950. To do this, use the LINK command. 
  2951. The remainder of the line becomes
  2952. the specification of the topic that
  2953. is the target of the link.  You
  2954. must specify the complete path
  2955. through the Help tree (from the
  2956. very top).  Separate topics from
  2957. sub-topics by spaces.
  2958.  
  2959. For example:
  2960.  
  2961. **Link: FOOD CHOCOLATE
  2962.  
  2963. specifies the sub-topic called
  2964. CHOCOLATE of the main topic FOOD.
  2965.  
  2966. Note that LINK allows you to do
  2967. prefix matching (so you could have
  2968. used *Link: F CH in the example
  2969. above).  This may make it difficult
  2970. to link to names that include
  2971. spaces, so be careful when you
  2972. pick the names of topics that will
  2973. be linked.
  2974.  
  2975. Since linking from one topic to
  2976. another changes the parent topic,
  2977. which might confuse the user, it is
  2978. a good idea to indicate when a
  2979. topic is a linked topic.  For
  2980. example, in this file, linked
  2981. topics include the work "(Link)" in
  2982. their names.
  2983.  
  2984. Note that linked topics can not
  2985. contain text of their own.
  2986. !
  2987. *2 The HELP Command
  2988. Format:  *HELP:
  2989.  
  2990. The HELP system includes its own
  2991. default help, for when you press
  2992. the HELP button on the Help
  2993. Requester.  This help is brief,
  2994. however, and you may wish to
  2995. replace it by your own, more
  2996. detailed help information.
  2997.  
  2998. To do this, use the HELP command
  2999. within your Help file.  This
  3000. indicates that the topics that
  3001. follow are not part of the main
  3002. Help tree, but rather are to be
  3003. used for the HELP button.  Begin
  3004. with level 1; you may include
  3005. sub-topics as usual.
  3006.  
  3007. Use the ENDHELP command to end the
  3008. definition of the HELP topics.
  3009.  
  3010. Use this file as an example of the
  3011. use of the HELP command.
  3012.  
  3013. The HELP command can appear only
  3014. once in a Help file.
  3015. !
  3016. *2 The ENDHELP command
  3017. Format:  *ENDHELP:
  3018.  
  3019. When you use the HELP command, you
  3020. need to be able to say when you are
  3021. done defining the HELP topics, and
  3022. go back to defining the normal Help
  3023. tree.
  3024.  
  3025. The ENDHELP command is used to do
  3026. this.  If you use the ENDHELP
  3027. command, it must be preceeded by a
  3028. HELP command.  ENDHELP can appear
  3029. only once in a Help file.
  3030. !
  3031. *2 Comments
  3032. The comment character for Help
  3033. files is the exclamation point (!).
  3034. If the first character in the line
  3035. is the comment character, the
  3036. remainder of the line is ignored,
  3037. and will not appear as text or
  3038. topics when the file is read.
  3039.  
  3040. If the exclamation point is not the
  3041. first character of the line,
  3042. however, it is NOT treated as a
  3043. comment character, but rather is
  3044. included as part of the text.
  3045.  
  3046. You can use this, for instance, to
  3047. comment out whole topics, without
  3048. actually erasing them from the
  3049. file.
  3050. !
  3051. *2 Loading Errors
  3052. If there are any errors in the
  3053. Help file, CELLS will put up a
  3054. requester telling you about the
  3055. error.  Every eight errors or so
  3056. you will be asked to confirm that
  3057. CELLS should continue to load the
  3058. file.  This is so that in case you
  3059. have a badly corrupted file, you
  3060. don't have to keep seeing error
  3061. messages forever.
  3062. !
  3063. *2 HELP Memory Usage            (Link)
  3064. *Link: Memory Management in CELLS  Memory Used by the HELP System
  3065. !
  3066. *1 Memory Management in CELLS
  3067. CELLS tries very hard to make sure
  3068. that you do not run out of memory,
  3069. and CELLS should not crash due to
  3070. memory shortages.
  3071.  
  3072. As CELLS allocates memory, it
  3073. checks to see how much RAM is
  3074. free and warns you when you are
  3075. getting low on memory.  This
  3076. warning is not repeated unless on a
  3077. subsequent memory allocation CELLS
  3078. finds that you have regained a
  3079. significant amount of memory.  In
  3080. this case, the next time you fall
  3081. below the low-memory threshold,
  3082. CELLS will warn you again.
  3083.  
  3084. If you continue to use more memory,
  3085. CELLS will give you an additional
  3086. warning when you go below a second,
  3087. lower threshold.  When this message
  3088. appears, CELLS may not be able to
  3089. perform all commands (e.g., some
  3090. requesters may not be able to
  3091. open).  When you get this message,
  3092. you should try to free up memory
  3093. in use by other tasks.
  3094.  
  3095. If there is not enough memory to
  3096. open a requester to display an
  3097. error message, CELLS will place the
  3098. message in the screen title bar.
  3099. The message will be removed the
  3100. next time you click the mouse or
  3101. perform some other action.
  3102. !
  3103. *2 When is Memory Allocated?
  3104. CELLS allocates most of the memory
  3105. it needs when you first run CELLS.
  3106. For example, The double-buffer
  3107. memory and the UNDO and RESET
  3108. storage areas are allocated at
  3109. this time.
  3110.  
  3111. CELLS allocates additional memory
  3112. whenever you load a library or
  3113. add a part to the Parts List.
  3114.  
  3115. Memory is allocated when a circuit
  3116. is running (to store information
  3117. about the position of electrons). 
  3118. This memory is freed when the
  3119. circuit is stopped.
  3120.  
  3121. Finally, memory is required in
  3122. order to be able to open any
  3123. requester.  The display area
  3124. obscured by the requester needs to
  3125. be saved by the system so that it
  3126. can be restored when the requester
  3127. is removed.  Some of the reqesters
  3128. used by CELLS are quite large, and
  3129. require sizable chunks of CHIP RAM.
  3130.  
  3131. See the "ROM Kernel Manual" for
  3132. a description of the difference
  3133. between CHIP and other types of
  3134. RAM, and "Intuition: The Amiga User
  3135. Interface" for a desription of
  3136. memory used by Intuition.
  3137. !
  3138. *2 Memory Used by the HELP System
  3139. The first time you press HELP, the
  3140. HELP system reads the help file and
  3141. records information about the
  3142. topics that are in the help file. 
  3143. This information is retained in
  3144. memory so that it is fast and easy
  3145. to go from topic to topic.
  3146.  
  3147. The actual text of any topic is
  3148. loaded only when that topic is
  3149. read.  The text is retained in
  3150. memory so that if the topic is
  3151. viewed agin, it will not have to
  3152. be read from disk a second time.
  3153.  
  3154. If CELLS begins to run low on
  3155. memory, CELLS will attempt to
  3156. recover memory by freeing any Help
  3157. text that is not in use.  If there
  3158. is still a shortage of available
  3159. memory (and if the Help system is
  3160. not in use), CELLS will attempt to
  3161. free the list of Help topics as
  3162. well.  If this happens, then the
  3163. next time HELP is pressed, CELLS
  3164. will load the Help library again.
  3165. !
  3166. *1 Update History
  3167. *2 Version 1.2 Changes
  3168. *3 Faster Circuits
  3169. The algorithm used to update the
  3170. cell states from generation to
  3171. generation when a circuit is
  3172. running has been updated.
  3173.  
  3174. CELLS now takes better advantage of
  3175. its linked lists of electron
  3176. information to perform the updates,
  3177. rather than scanning through the
  3178. grid cell-by-cell.
  3179.  
  3180. The speed increase is marginal,
  3181. except when there are very few
  3182. electrons in the circuit, or when
  3183. the circuit takes up large portions
  3184. of the grid area.
  3185. !
  3186. *3 Better String Matching in HELP
  3187. The algorithm HELP uses to
  3188. determine whether a spcified topic
  3189. matches a topic in the current
  3190. topic list has been improved.
  3191.  
  3192. In the past, when a topic matched
  3193. the prefix of a topic in the list,
  3194. and there were additional subtopics
  3195. to be matched, Help would record a
  3196. match on the FIRST topic whose
  3197. prefix was matched.
  3198.  
  3199. Now, however, Help will match the
  3200. topic with the LONGEST prefix
  3201. match.
  3202.  
  3203. For example, if there are topics
  3204. called "The First" and "The Second"
  3205. and the user enters a topic called
  3206. "The Sec And Sub", Help will
  3207. correctly match this against the
  3208. second topic, and will look for a
  3209. sub-topic "And Sub" of the topic
  3210. "The Second".
  3211.  
  3212. Previous versions of Help would
  3213. incorrectly have matched "The" with
  3214. the topic "The First" and would
  3215. have looked for the sub-topic 
  3216. "Sec And Sub" in the topic 
  3217. "The First".
  3218.  
  3219. This also effects the matching of
  3220. linked topics.
  3221. !
  3222. *3 Only Mounted Devices Listed
  3223. In the File Requester, if you press
  3224. the parent-directory arrow gadget
  3225. when you are at the top level of
  3226. the directory tree (or if you press
  3227. ALT and the parent-directory
  3228. arrow), you get a list of available
  3229. devices and ASSIGNed volumes.
  3230.  
  3231. In the past, ALL the devices would
  3232. be shown, even if they are not
  3233. mounted; i.e., if you have not
  3234. mounted a RAM: disk or the PIPE:
  3235. devices, they would still appear in
  3236. the list.
  3237.  
  3238. In order to make this list more
  3239. usefull, only those devices that
  3240. are actually mounted (i.e., that
  3241. have an active Task in their device
  3242. list structure) are displayed.
  3243.  
  3244. This has the side-effect of causes
  3245. devices that create new tasks on
  3246. each invocation (like CON:) not to
  3247. appear on the device list.  To gain
  3248. access to such a device, you need
  3249. to type its name into the file name
  3250. gadget by hand.
  3251. !
  3252. *2 Version 1.1 Changes
  3253. *3 WorkBench Colors in Color File
  3254. You can now specify that CELLS use
  3255. specific WorkBench screen colors
  3256. instead of its own default screen
  3257. colors.  Use an equal sign (=)
  3258. instead of a color RGB value in the
  3259. Cells.Colors file to use the
  3260. corresponding WorkBench color
  3261. instead.
  3262. !
  3263. *4 About Cells.Colors           (Link)
  3264. *Link: Installing Cells  Changing the Screen Colors
  3265. !
  3266. *3 HELP System Implemented
  3267. The HELP system is now fully
  3268. implemented (as you know, since
  3269. you are using it now).
  3270. !
  3271. *4 Using HELP                   (Link)
  3272. *Link: The HELP System
  3273. *3 HELP File Format             (Link)
  3274. *Link: HELP File Format
  3275. !
  3276. *3 Bug in SAVE fixed
  3277. When saving a selection as a
  3278. circuit, the name of the current
  3279. circuit file was inadvertantly
  3280. changed to the name of the
  3281. selection.  This bug has been
  3282. fixed.
  3283. !
  3284. *3 SAVE Command is Now Safer
  3285. In the past, if you clicked the
  3286. QUIT button by accident, there was
  3287. no way to cancel the quit (although
  3288. you were given the option of saving
  3289. the file).
  3290.  
  3291. Now, if you answer "NO" to saving
  3292. the changes before you quit, CELLS
  3293. will prompt you to make sure that
  3294. you really want to quit.
  3295.  
  3296. If you answer "YES", and you get
  3297. the Save File requester, then
  3298. pressing "CANCEL" will cancel the
  3299. pending QUIT as well as the file
  3300. requester.
  3301. !
  3302. *3 Moonstone Font Updated
  3303. A few of the glyphs in the
  3304. Moonstone font have been updated to
  3305. make blocks of text (e.g., help
  3306. displays) look better on the
  3307. screen.
  3308. !
  3309. *4 About Moonstone.Font         (Link)
  3310. *Link: Installing CELLS  Moonstone Font
  3311. !
  3312. *1 Known Bugs
  3313. *2 String Gadgets Not Really Selected
  3314. There seems to be a bug in Intution
  3315. that causes string gadgets to
  3316. appear selected even when they are
  3317. not (i.e., the cursor shows up in
  3318. the gadget but when you type,
  3319. nothing happens).
  3320.  
  3321. This usually occurs when you press
  3322. RETURN to enter the text in the
  3323. gadget.  For example, in the File
  3324. Requester, if you type the name
  3325. of a directory in the gadget and
  3326. press RETURN, the cursor will still
  3327. appear within the gadget even
  3328. though it is no longer selected.
  3329.  
  3330. The author was unable to find a way
  3331. around this bug in Intuition.  He
  3332. hopes that it will be solved in
  3333. version 1.4 of the operating
  3334. system.
  3335. !
  3336. *2 Extra Cursors in String Gadgets
  3337. There seems to be a bug in the way
  3338. Intuition handles string gadgets
  3339. whose text changes under program
  3340. control.  Intuition seems to
  3341. remeber the old cursor location
  3342. sometimes and the new location
  3343. other times.
  3344.  
  3345. For this reason, if you are using
  3346. the File Requester (or other
  3347. requester with a text input box)
  3348. you may sometimes see two cursors
  3349. in the text area.
  3350.  
  3351. This occurs mostly when the text
  3352. area has just been cleared and
  3353. you select some other gadget (like
  3354. the arrow or slider gadgets)
  3355. causing the text gadget to become
  3356. unselected.
  3357. !
  3358. *Help:
  3359. *Title: Brief Description of HELP:
  3360. MORE    Shows more text or topics,
  3361.         or the parent's sub-topics
  3362. TOPICS  Shows the sub-topic list
  3363. TEXT    Shows the topic's text
  3364. PARENT  Moves to the parent topic
  3365. HELP    Shows this text
  3366. DONE    Exits from the Help System
  3367.  
  3368. The sliders and arrows scroll the
  3369. text or topic list.
  3370.  
  3371. Press MORE for additional topics.
  3372. !
  3373. *1 Overview
  3374. The Help System is intended to be
  3375. easy to use and easy to add to. 
  3376. The topics are set up in the shape
  3377. of a "tree":  some topics have sub-
  3378. topics, and these in turn might
  3379. have additional sub-topics.
  3380.  
  3381. The idea is to make it possible to
  3382. find the specific information you
  3383. want without having to read through
  3384. large amounts of text to find it. 
  3385. Each topic by itself is fairly
  3386. short.  You find the text you want
  3387. to read by choosing a path among
  3388. the topics and sub-topics.
  3389.  
  3390. The more general topics are at the
  3391. main level; more detail topics are
  3392. found deeper in the Help tree.
  3393. !
  3394. *1 Scrolling Through Text
  3395. The easiest way to move through
  3396. text is to use the MORE button. 
  3397. This will scroll the text down one
  3398. page.
  3399.  
  3400. You can use the slider at the right
  3401. to move through the text.  The
  3402. arrows scroll one line at a time,
  3403. and dragging the slider knob moves
  3404. to a specific portion of the text. 
  3405. Note that the text updates as you
  3406. slide, so you can tell where you
  3407. are going.
  3408.  
  3409. If you click in the slider gadget
  3410. above or below the knob, you will
  3411. scroll by one page in the indicated
  3412. direction.
  3413. !
  3414. *1 Selecting a Topic
  3415. Topics are displayed in the screen
  3416. background color (whereas regular
  3417. text is shown in the shadow color).
  3418. This should help you distinguish
  3419. between topic lists and text.
  3420.  
  3421. To choose a topic, either type its
  3422. name in the topic name gadget at
  3423. the bottom of the requester, or
  3424. simply double click on the topic in
  3425. the topic list.
  3426.  
  3427. If a topic's text is showing and
  3428. you want skip the rest of the text
  3429. and view the topic list instead,
  3430. click the TOPICS button.
  3431.  
  3432. If there are no sub-topics, then
  3433. the parent's sub-topic list will be
  3434. shown, with the topic you were just
  3435. reading highlighted.
  3436. !
  3437. *2 Typing Topic Names
  3438. If you type in a topic name, you
  3439. don't need to type the complete
  3440. name.  All you need is enough of
  3441. the name to identify it from the
  3442. other topics.
  3443.  
  3444. In fact, you can traverse more than
  3445. one level of sub-topics at a time
  3446. by typing more than one topic name
  3447. (separate them by spaces).
  3448.  
  3449. For example, if the current topic
  3450. has a sub-topic called "FOODS" and
  3451. that sub-topic has a sub-topic
  3452. called "CHOCOLATE" you could type
  3453. "FOODS CHOCOLATE" in the topic
  3454. gadget to go directly to the
  3455. CHOCOLATE sub-topic, skipping the
  3456. FOODS topic altogether.
  3457.  
  3458. Topic names that include spaces can
  3459. cause some difficulties, but if the
  3460. titles are chosen carefully, you
  3461. should be able to navigate in this
  3462. way without trouble.
  3463. !
  3464. *2 Linked Topics
  3465. A topic name that is followed by
  3466. the word "(Link)" is a link to a
  3467. topic in another part of the Help
  3468. tree.  If you choose such a topic,
  3469. the PARENT topic may be different
  3470. from what you would expect.
  3471. !
  3472. *1 Navigating the Help Tree
  3473. You should be able to navigate the
  3474. entire help tree by choosing topics
  3475. and pressing the MORE button.
  3476.  
  3477. To select a topic from a topic
  3478. list, simply double-click on its
  3479. name in the list.  If the slider
  3480. indicates that there are more
  3481. topics to see, press MORE to see
  3482. them.  If there are no more topics
  3483. and you press MORE, you will go to
  3484. the topic list of the parent of the
  3485. current topic, with the current
  3486. topic highlighted in the list.
  3487.  
  3488. When you select a topic, you will
  3489. see its text (if it has any). 
  3490. Press MORE to see more pages of
  3491. text.  When you reach the end of
  3492. the text, pressing MORE will bring
  3493. up the sub-topic list for the
  3494. current topic.  If there are no
  3495. sub-topics, MORE takes you to the
  3496. topic list of the parent topic with
  3497. the current topic highlighted.
  3498.  
  3499. In this way, MORE always takes you
  3500. to the appropriate next peice of
  3501. information.
  3502.  
  3503. Provided you just keep pressing
  3504. MORE and selecting topics, you
  3505. should never have to use the other
  3506. help buttons.
  3507. !
  3508. *1 The MORE Button
  3509. If you are reading text, MORE moves
  3510. on to the next page of text.  If
  3511. there is less than a full page of
  3512. text unread, MORE will briefly
  3513. highlight the last line of the
  3514. previoius page so that you can see
  3515. where the new information begins.
  3516.  
  3517. If there are no more lines of text
  3518. to view, MORE will display the
  3519. current topic's sub-topic list.  If
  3520. there are no sub-topics to the
  3521. current topic, MORE will display
  3522. the sub-topic list of the parent
  3523. topic, with the current topic
  3524. highlighted.
  3525.  
  3526. If you are viewing a list of
  3527. topics, MORE will scroll to the
  3528. next page of topics.  If you are
  3529. already at the end of the topic
  3530. list, MORE will display the topic
  3531. list of the parent topic, with the
  3532. current topic highlighted.
  3533. !
  3534. *1 The TOPICS Button
  3535. If you are reading the text of a
  3536. topic, the TOPICS button will be
  3537. available.  Pressing it takes you
  3538. to the sub-topic list of the
  3539. current topic, skipping any unread
  3540. text.
  3541.  
  3542. If there are no sub-topics for the
  3543. current topic, TOPICS will display
  3544. the topic list of the parent topic,
  3545. with the current topic highlighted.
  3546. !
  3547. *1 The TEXT Button
  3548. If you are viewing a topic list,
  3549. TEXT will change to displaying the
  3550. text of the current topic instead.
  3551. This is useful if you want to re-
  3552. read part of the text after reading
  3553. some of its sub-topics, for
  3554. instance.
  3555. !
  3556. *1 The PARENT Button
  3557. Press the PARENT button to go back
  3558. to the parent topic when you are
  3559. done with the current topic.  You
  3560. remain in whatever mode you are
  3561. currently in (text or topics) when
  3562. you move to the parent.
  3563.  
  3564. If you are holding down a SHIFT key
  3565. when you press the PARENT button,
  3566. you will go to the very top level
  3567. of the help tree (the main text
  3568. and the main topic list).
  3569. !
  3570. *1 The HELP Button
  3571. Press the HELP button to get help
  3572. about using the Help System.  The
  3573. HELP button will remain highlighted
  3574. to indicate that you are viewing a
  3575. special help tree.
  3576.  
  3577. When you are ready to go back to
  3578. the main help tree, press HELP
  3579. again.  You will be placed in TEXT
  3580. mode at whatever topic you were
  3581. viewing before you pressed HELP.
  3582.  
  3583. The text and topics for the HELP
  3584. button can be part of the Help
  3585. Database file, and can be modified
  3586. as described in MODIFYING THE HELP
  3587. DATABASE.
  3588. !
  3589. *1 The DONE Button
  3590. When you are done using HELP and
  3591. want to go back to using CELLS,
  3592. press the DONE button.
  3593.  
  3594. You can press DONE from any point
  3595. within the Help tree.
  3596. !
  3597. *1 Modifying the Help Database
  3598. The Help file is a standard Text
  3599. file, with embeded commands that
  3600. tell the Help System how to
  3601. break up the file into topics and
  3602. sub-topics. 
  3603.  
  3604. You can use any text editor (like
  3605. ED, EDIT, or MEMACS) to modify the
  3606. help file to include your own help
  3607. topics or customize existing
  3608. topics.
  3609.  
  3610. See the topic HELP FILE FORMAT of
  3611. the main Help tree for information
  3612. on the format of the Help file.
  3613. *EndHelp:
  3614.